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
- EncryptedReference.cs
- TextEmbeddedObject.cs
- DataGridTextBoxColumn.cs
- Identity.cs
- CompositeCollectionView.cs
- LinkTarget.cs
- DocumentPageViewAutomationPeer.cs
- MethodCallTranslator.cs
- COAUTHIDENTITY.cs
- UnmanagedHandle.cs
- CatalogPartCollection.cs
- OdbcHandle.cs
- ObjectSecurity.cs
- ImageInfo.cs
- DefaultBindingPropertyAttribute.cs
- WebPartTracker.cs
- ScalarType.cs
- ProfileSection.cs
- CompiledXpathExpr.cs
- ButtonStandardAdapter.cs
- ArglessEventHandlerProxy.cs
- WorkBatch.cs
- DocumentCollection.cs
- RbTree.cs
- OutputCacheProfileCollection.cs
- XmlElement.cs
- TimelineGroup.cs
- MsmqIntegrationInputMessage.cs
- DynamicHyperLink.cs
- QueryRewriter.cs
- BinaryConverter.cs
- WebPageTraceListener.cs
- XmlnsDictionary.cs
- COM2ExtendedUITypeEditor.cs
- SecurityUtils.cs
- DesignTimeParseData.cs
- SecurityRuntime.cs
- ApplicationHost.cs
- RecordManager.cs
- SqlBuilder.cs
- SamlAuthorizationDecisionClaimResource.cs
- TypeSemantics.cs
- WebEventCodes.cs
- DropTarget.cs
- SegmentInfo.cs
- ObjectDataSourceView.cs
- Object.cs
- SystemDiagnosticsSection.cs
- EventProviderWriter.cs
- BaseValidator.cs
- RequiredAttributeAttribute.cs
- MetafileHeader.cs
- StructuredProperty.cs
- dtdvalidator.cs
- UTF8Encoding.cs
- PeerIPHelper.cs
- FrameDimension.cs
- DataObjectCopyingEventArgs.cs
- AutoResetEvent.cs
- ResourceManager.cs
- QilPatternVisitor.cs
- ReferenceEqualityComparer.cs
- PrimitiveXmlSerializers.cs
- SQLString.cs
- FileDialogCustomPlace.cs
- IteratorAsyncResult.cs
- UserControlFileEditor.cs
- NullRuntimeConfig.cs
- PolicyChain.cs
- FontUnit.cs
- ManagementClass.cs
- MyContact.cs
- BitmapImage.cs
- ZipFileInfo.cs
- _HTTPDateParse.cs
- RequiredFieldValidator.cs
- XmlAttribute.cs
- RuleSetDialog.cs
- GrowingArray.cs
- HttpBrowserCapabilitiesWrapper.cs
- IItemContainerGenerator.cs
- SecurityTokenTypes.cs
- SqlGenericUtil.cs
- BrowserCapabilitiesFactory.cs
- CTreeGenerator.cs
- SqlCacheDependency.cs
- GridView.cs
- XamlStream.cs
- Ref.cs
- MsmqNonTransactedPoisonHandler.cs
- CryptoApi.cs
- SafeArchiveContext.cs
- DateTimeOffsetStorage.cs
- PerfCounterSection.cs
- FtpWebRequest.cs
- BufferedReadStream.cs
- BinaryConverter.cs
- UserNamePasswordClientCredential.cs
- TreeViewBindingsEditor.cs
- NameValueSectionHandler.cs