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
- Part.cs
- PropertyItemInternal.cs
- DbConnectionPoolIdentity.cs
- ByteAnimationBase.cs
- LocalizationCodeDomSerializer.cs
- WebPartTransformer.cs
- TextServicesDisplayAttributePropertyRanges.cs
- ScriptRegistrationManager.cs
- OracleFactory.cs
- ExpressionBuilderCollection.cs
- NTAccount.cs
- ListInitExpression.cs
- DataErrorValidationRule.cs
- Models.cs
- AutomationPattern.cs
- NumberFunctions.cs
- ConfigPathUtility.cs
- FormatStringEditor.cs
- HtmlTableCell.cs
- TextInfo.cs
- SBCSCodePageEncoding.cs
- LiteralText.cs
- LocationSectionRecord.cs
- CheckBoxField.cs
- UriTemplateDispatchFormatter.cs
- ControlAdapter.cs
- MDIClient.cs
- FlowLayoutPanel.cs
- PerfCounterSection.cs
- SafeMILHandle.cs
- GlobalProxySelection.cs
- InvokeMemberBinder.cs
- SQLInt64.cs
- TaskFormBase.cs
- serverconfig.cs
- RegexFCD.cs
- KeyGestureConverter.cs
- OpenTypeCommon.cs
- CodeTypeReferenceCollection.cs
- SecurityTokenTypes.cs
- XmlSchemaAll.cs
- BaseDataBoundControl.cs
- ToolStripGrip.cs
- ManifestResourceInfo.cs
- XmlEnumAttribute.cs
- XmlWellformedWriterHelpers.cs
- PrintDialog.cs
- StaticResourceExtension.cs
- BinaryFormatter.cs
- SyndicationSerializer.cs
- MessageBox.cs
- ClearTypeHintValidation.cs
- InputMethod.cs
- EntityCollectionChangedParams.cs
- ActivationServices.cs
- DeferredElementTreeState.cs
- TableCell.cs
- TransactedReceiveScope.cs
- HealthMonitoringSection.cs
- CoreSwitches.cs
- WithStatement.cs
- CodeAccessSecurityEngine.cs
- BinarySerializer.cs
- ToolStripPanelCell.cs
- XsltOutput.cs
- XmlQueryContext.cs
- WebServiceHandler.cs
- BackgroundWorker.cs
- WebCategoryAttribute.cs
- SecurityContext.cs
- PixelFormat.cs
- MSAANativeProvider.cs
- Point3DAnimationUsingKeyFrames.cs
- RegisteredHiddenField.cs
- ColorAnimation.cs
- CodeTypeReferenceCollection.cs
- FilterQuery.cs
- LinkButton.cs
- ClientRuntimeConfig.cs
- PostBackTrigger.cs
- Trace.cs
- RichTextBoxAutomationPeer.cs
- SqlCacheDependencySection.cs
- Label.cs
- XmlAutoDetectWriter.cs
- SchemaConstraints.cs
- BitmapSource.cs
- FrameworkElement.cs
- ImagingCache.cs
- QilStrConcat.cs
- TextRangeEditLists.cs
- MulticastNotSupportedException.cs
- QueryContext.cs
- PersonalizablePropertyEntry.cs
- CodeLabeledStatement.cs
- Typography.cs
- DesignerCalendarAdapter.cs
- DataViewManagerListItemTypeDescriptor.cs
- GridViewRowPresenter.cs
- WebColorConverter.cs