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
- Token.cs
- BuildManager.cs
- WindowsEditBoxRange.cs
- SmiConnection.cs
- StorageRoot.cs
- NonDualMessageSecurityOverHttp.cs
- TimeSpanConverter.cs
- OutputCacheSection.cs
- RuntimeEnvironment.cs
- ProviderCommandInfoUtils.cs
- TerminatorSinks.cs
- XmlCharacterData.cs
- Point.cs
- DebugController.cs
- tooltip.cs
- SqlExpander.cs
- RuntimeArgumentHandle.cs
- EntityProviderFactory.cs
- RouteCollection.cs
- ActiveXMessageFormatter.cs
- TranslateTransform3D.cs
- CodeGeneratorAttribute.cs
- TypeBuilderInstantiation.cs
- FixedSOMTableRow.cs
- RequestCachePolicy.cs
- EpmSyndicationContentSerializer.cs
- CodeGenerator.cs
- DesignerVerb.cs
- SqlMetaData.cs
- ContainerActivationHelper.cs
- DesignerVerb.cs
- TypeLibraryHelper.cs
- relpropertyhelper.cs
- CipherData.cs
- ObjectSet.cs
- ConfigXmlReader.cs
- ConfigurationLocation.cs
- SponsorHelper.cs
- Marshal.cs
- ConnectionPoint.cs
- DataSetSchema.cs
- SignatureDescription.cs
- CodeTypeParameterCollection.cs
- NullToBooleanConverter.cs
- ExclusiveCanonicalizationTransform.cs
- ButtonRenderer.cs
- DbFunctionCommandTree.cs
- HttpListenerPrefixCollection.cs
- ClaimTypes.cs
- FocusTracker.cs
- CqlParser.cs
- CalendarTable.cs
- TagMapInfo.cs
- SocketAddress.cs
- NativeCppClassAttribute.cs
- DbProviderSpecificTypePropertyAttribute.cs
- Manipulation.cs
- SymbolTable.cs
- PropertyOverridesTypeEditor.cs
- RSAPKCS1KeyExchangeFormatter.cs
- OpenFileDialog.cs
- UpdatePanelTriggerCollection.cs
- Int32Storage.cs
- InlinedLocationReference.cs
- HttpHeaderCollection.cs
- FrameworkTemplate.cs
- TextEditorSpelling.cs
- ComponentChangingEvent.cs
- Code.cs
- StyleSheet.cs
- MdImport.cs
- unsafenativemethodstextservices.cs
- ProcessInfo.cs
- ObjectStateFormatter.cs
- HtmlInputCheckBox.cs
- ToolStripCollectionEditor.cs
- BitmapEffectOutputConnector.cs
- CommandBindingCollection.cs
- Popup.cs
- KeyboardInputProviderAcquireFocusEventArgs.cs
- ISAPIWorkerRequest.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- ConnectorMovedEventArgs.cs
- View.cs
- UdpSocketReceiveManager.cs
- AssertFilter.cs
- HyperLinkField.cs
- WebPageTraceListener.cs
- PasswordValidationException.cs
- EmbeddedMailObject.cs
- SqlParameterCollection.cs
- EUCJPEncoding.cs
- XmlUtilWriter.cs
- ClientRolePrincipal.cs
- TextBreakpoint.cs
- TogglePattern.cs
- InputElement.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- PositiveTimeSpanValidatorAttribute.cs
- SapiRecognizer.cs