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
- AspNetHostingPermission.cs
- InputProcessorProfiles.cs
- Color.cs
- TemplatePagerField.cs
- AddInProcess.cs
- AlternateView.cs
- StateInitialization.cs
- TemplateControlParser.cs
- ChangeBlockUndoRecord.cs
- PkcsUtils.cs
- FileChangeNotifier.cs
- XamlToRtfWriter.cs
- SignedXml.cs
- GridToolTip.cs
- _AutoWebProxyScriptWrapper.cs
- Int32Rect.cs
- SimpleHandlerBuildProvider.cs
- SemanticResultValue.cs
- x509utils.cs
- ScriptComponentDescriptor.cs
- SspiNegotiationTokenProvider.cs
- PropertyEmitter.cs
- SQLInt64.cs
- TrustSection.cs
- NativeCppClassAttribute.cs
- WindowsStreamSecurityBindingElement.cs
- FilteredDataSetHelper.cs
- Attribute.cs
- ContextBase.cs
- NonBatchDirectoryCompiler.cs
- Splitter.cs
- TriggerBase.cs
- ProviderCollection.cs
- ASCIIEncoding.cs
- ISO2022Encoding.cs
- ItemsChangedEventArgs.cs
- PrinterSettings.cs
- SymbolPair.cs
- ClientScriptManagerWrapper.cs
- HttpCapabilitiesEvaluator.cs
- ControlCommandSet.cs
- ExceptionHandlerDesigner.cs
- EpmSourceTree.cs
- PauseStoryboard.cs
- DetailsViewRow.cs
- FigureHelper.cs
- HostedBindingBehavior.cs
- DescendantBaseQuery.cs
- SafeFindHandle.cs
- MenuItemCollectionEditorDialog.cs
- SQLString.cs
- DocumentApplication.cs
- DesignerVerbCollection.cs
- KeyEvent.cs
- WindowsRichEdit.cs
- ExtensionFile.cs
- Win32.cs
- SqlDataSourceAdvancedOptionsForm.cs
- WinEventTracker.cs
- SimpleTypesSurrogate.cs
- CatalogZoneBase.cs
- SourceItem.cs
- ObservableCollection.cs
- ControlAdapter.cs
- PackageProperties.cs
- invalidudtexception.cs
- HtmlShimManager.cs
- Object.cs
- Int16Animation.cs
- BindingContext.cs
- ImageAnimator.cs
- ApplicationSettingsBase.cs
- DataGridViewSortCompareEventArgs.cs
- WindowsEditBox.cs
- LayoutUtils.cs
- DataGridCell.cs
- ToolStripDropDownClosingEventArgs.cs
- IsolatedStorageException.cs
- CheckBoxField.cs
- Pair.cs
- ImageKeyConverter.cs
- AsyncResult.cs
- ValuePatternIdentifiers.cs
- GPStream.cs
- SessionPageStateSection.cs
- SafeRegistryHandle.cs
- Page.cs
- QilList.cs
- AccessKeyManager.cs
- ArithmeticException.cs
- login.cs
- CFStream.cs
- SplitterCancelEvent.cs
- CompiledQueryCacheKey.cs
- PackagePartCollection.cs
- WebResponse.cs
- PrintingPermissionAttribute.cs
- TypeConverter.cs
- ThreadAbortException.cs
- SqlConnectionStringBuilder.cs