Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx40 / System.ServiceModel.Discovery / System / ServiceModel / Discovery / DiscoveryMessageSequenceGenerator.cs / 1305376 / DiscoveryMessageSequenceGenerator.cs
//---------------------------------------------------------------- // Copyright (c) Microsoft Corporation. All rights reserved. //--------------------------------------------------------------- namespace System.ServiceModel.Discovery { using System; using System.Runtime; using SR2 = System.ServiceModel.Discovery.SR; public class DiscoveryMessageSequenceGenerator { static readonly DateTime DT1970 = new DateTime(1970, 1, 1); long instanceId; Uri sequenceId; [Fx.Tag.SynchronizationObject(Blocking = false, Kind = Fx.Tag.SynchronizationKind.InterlockedNoSpin)] long messageNumber; public DiscoveryMessageSequenceGenerator() : this(CreateInstanceId(), null) { } [Fx.Tag.Throws(typeof(ArgumentOutOfRangeException), "instanceId")] public DiscoveryMessageSequenceGenerator(long instanceId, Uri sequenceId) { if (instanceId < 0 || instanceId > UInt32.MaxValue) { throw FxTrace.Exception.ArgumentOutOfRange("instanceId", instanceId, SR2.DiscoveryAppSequenceInstanceIdOutOfRange); } this.instanceId = instanceId; this.sequenceId = sequenceId; } static long CreateInstanceId() { return (long)DateTime.Now.Subtract(DT1970).TotalSeconds; } [Fx.Tag.InheritThrows(From = "DiscoveryMessageSequenceGenerator", FromDeclaringType = typeof(DiscoveryMessageSequenceGenerator))] public DiscoveryMessageSequence Next() { return new DiscoveryMessageSequence(this.instanceId, this.sequenceId, Threading.Interlocked.Increment(ref this.messageNumber)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ScriptingAuthenticationServiceSection.cs
- Timeline.cs
- FactoryGenerator.cs
- SortQuery.cs
- ImmutableObjectAttribute.cs
- Rect.cs
- SubqueryRules.cs
- SpotLight.cs
- Vector3DCollectionConverter.cs
- DaylightTime.cs
- XDRSchema.cs
- SectionInput.cs
- OpCellTreeNode.cs
- GestureRecognitionResult.cs
- BackgroundFormatInfo.cs
- XPathDocumentIterator.cs
- ToolStripGripRenderEventArgs.cs
- DataGridCommandEventArgs.cs
- X509SecurityToken.cs
- DebuggerAttributes.cs
- GridViewDeleteEventArgs.cs
- TypeSystemProvider.cs
- ConfigurationSectionGroupCollection.cs
- ContextStack.cs
- PermissionSet.cs
- Point3D.cs
- DbConnectionFactory.cs
- MessageFormatterConverter.cs
- ObjectDisposedException.cs
- DataGridViewCellStateChangedEventArgs.cs
- RepeatButton.cs
- TrustManager.cs
- SafeHGlobalHandleCritical.cs
- OleDbWrapper.cs
- InkPresenter.cs
- ChannelSinkStacks.cs
- HuffCodec.cs
- ServiceModelTimeSpanValidator.cs
- ADConnectionHelper.cs
- SharedStatics.cs
- DataChangedEventManager.cs
- ResourceReader.cs
- GridViewSelectEventArgs.cs
- BitmapPalette.cs
- PeerHelpers.cs
- followingsibling.cs
- DefaultMemberAttribute.cs
- ToolTip.cs
- BindingWorker.cs
- LinearGradientBrush.cs
- ScaleTransform3D.cs
- Polygon.cs
- Zone.cs
- TreeNodeMouseHoverEvent.cs
- RepeatButton.cs
- AssemblyContextControlItem.cs
- IgnoreFlushAndCloseStream.cs
- GrammarBuilderBase.cs
- SmtpFailedRecipientsException.cs
- EffectiveValueEntry.cs
- UpdateExpressionVisitor.cs
- Clock.cs
- ItemsChangedEventArgs.cs
- ApplicationFileParser.cs
- ModuleBuilderData.cs
- SqlEnums.cs
- ServiceModelReg.cs
- EdmComplexPropertyAttribute.cs
- IsolationInterop.cs
- DockingAttribute.cs
- StringWriter.cs
- SchemaTableColumn.cs
- Opcode.cs
- ReadWriteObjectLock.cs
- ScrollChrome.cs
- ArithmeticException.cs
- DefaultValueAttribute.cs
- ConstNode.cs
- RuntimeWrappedException.cs
- WindowsGraphics2.cs
- AuthenticateEventArgs.cs
- AccessDataSourceView.cs
- ProxyHwnd.cs
- Emitter.cs
- XmlNodeChangedEventManager.cs
- PersistenceException.cs
- GenericAuthenticationEventArgs.cs
- ComEventsMethod.cs
- RandomNumberGenerator.cs
- SessionPageStatePersister.cs
- RayMeshGeometry3DHitTestResult.cs
- TypedDataSetSchemaImporterExtensionFx35.cs
- EventDrivenDesigner.cs
- Permission.cs
- CompositeScriptReference.cs
- NonClientArea.cs
- ObjectSecurity.cs
- unitconverter.cs
- ContextMenu.cs
- SR.cs