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
- SqlBooleanizer.cs
- DataGridViewColumnCollectionDialog.cs
- WebPartDisplayModeEventArgs.cs
- TextComposition.cs
- DebugView.cs
- querybuilder.cs
- SelectionItemPattern.cs
- HttpResponseBase.cs
- InputLanguageProfileNotifySink.cs
- ExpressionBuilder.cs
- XmlSchemaParticle.cs
- MsmqHostedTransportManager.cs
- PermissionSetEnumerator.cs
- ControlCollection.cs
- MatrixUtil.cs
- WsdlInspector.cs
- XmlUtilWriter.cs
- Message.cs
- Registry.cs
- DocumentXPathNavigator.cs
- Resources.Designer.cs
- RichTextBoxConstants.cs
- ObjectToIdCache.cs
- SafeNativeMethods.cs
- X509CertificateCollection.cs
- TraceContextEventArgs.cs
- HtmlTextArea.cs
- DiffuseMaterial.cs
- DesignBindingEditor.cs
- SoapFormatterSinks.cs
- Marshal.cs
- GlyphTypeface.cs
- TemplateBaseAction.cs
- DataTableReaderListener.cs
- BitmapEffectState.cs
- CommonDialog.cs
- Range.cs
- PublisherMembershipCondition.cs
- ValueUnavailableException.cs
- XmlnsDefinitionAttribute.cs
- ToolStripContextMenu.cs
- ZoneButton.cs
- StatusBarPanel.cs
- DockingAttribute.cs
- PathData.cs
- ValidateNames.cs
- TimelineClockCollection.cs
- Executor.cs
- IgnoreDeviceFilterElement.cs
- LineInfo.cs
- CatalogPartChrome.cs
- SqlClientFactory.cs
- Models.cs
- CreateSequence.cs
- UIElement.cs
- Timer.cs
- __Error.cs
- SafeBitVector32.cs
- MILUtilities.cs
- PerformanceCounterNameAttribute.cs
- SamlAdvice.cs
- TextChangedEventArgs.cs
- ItemDragEvent.cs
- ReadOnlyObservableCollection.cs
- EntityParameter.cs
- CodeMemberProperty.cs
- X509CertificateRecipientClientCredential.cs
- XsdBuildProvider.cs
- Pipe.cs
- WorkflowInstanceProxy.cs
- NeutralResourcesLanguageAttribute.cs
- DictionaryContent.cs
- StorageMappingFragment.cs
- MobileDeviceCapabilitiesSectionHandler.cs
- InternalPermissions.cs
- ClientTargetSection.cs
- Propagator.cs
- SrgsText.cs
- TypeConvertions.cs
- SHA1CryptoServiceProvider.cs
- ProjectionCamera.cs
- ObjectDataSourceMethodEditor.cs
- SecurityContext.cs
- XPathExpr.cs
- UnmanagedBitmapWrapper.cs
- XmlSiteMapProvider.cs
- HitTestWithGeometryDrawingContextWalker.cs
- KeyEvent.cs
- StringInfo.cs
- Win32Native.cs
- WebBrowsableAttribute.cs
- ControlValuePropertyAttribute.cs
- InlineCollection.cs
- AppearanceEditorPart.cs
- XPathScanner.cs
- WebPartManagerInternals.cs
- ProtocolElementCollection.cs
- XPathBinder.cs
- FunctionMappingTranslator.cs
- EmissiveMaterial.cs