Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / NetFx35 / System.WorkflowServices / System / ServiceModel / Dispatcher / DurableRuntimeValidator.cs / 1305376 / DurableRuntimeValidator.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Dispatcher { using System.ServiceModel.Description; using System.Workflow.Runtime; using System.Runtime; class DurableRuntimeValidator { ConcurrencyMode concurrencyMode; UnknownExceptionAction exceptionAction; bool saveStateInOperationTransaction; bool validated; public DurableRuntimeValidator(bool saveStateInOperationTransaction, UnknownExceptionAction exceptionAction) { this.saveStateInOperationTransaction = saveStateInOperationTransaction; this.exceptionAction = exceptionAction; this.validated = false; } public ConcurrencyMode ConcurrencyMode { get { if (!this.validated) { ValidateRuntime(); } return concurrencyMode; } } public void ValidateRuntime() { if (!this.validated) { Fx.Assert( OperationContext.Current != null && OperationContext.Current.EndpointDispatcher != null && OperationContext.Current.EndpointDispatcher.DispatchRuntime != null, "There shouldn't have been a null value in " + "OperationContext.Current.EndpointDispatcher.DispatchRuntime."); this.concurrencyMode = OperationContext.Current.EndpointDispatcher.DispatchRuntime.ConcurrencyMode; if (this.concurrencyMode == ConcurrencyMode.Multiple) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException( SR2.GetString(SR2.ConcurrencyMultipleNotSupported))); } if (this.saveStateInOperationTransaction && this.concurrencyMode != ConcurrencyMode.Single) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException( SR2.GetString(SR2.SaveStateInTransactionRequiresSingle))); } if (this.concurrencyMode == ConcurrencyMode.Reentrant && this.exceptionAction == UnknownExceptionAction.AbortInstance) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError( new InvalidOperationException( SR2.GetString(SR2.ConcurrencyReentrantAndAbortNotSupported))); } this.validated = true; } } } } // 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
- JavaScriptSerializer.cs
- HelpKeywordAttribute.cs
- ProbeMatchesApril2005.cs
- EDesignUtil.cs
- DataExpression.cs
- FlowDocumentScrollViewerAutomationPeer.cs
- SqlCacheDependencyDatabaseCollection.cs
- ObjectDataSourceFilteringEventArgs.cs
- InsufficientMemoryException.cs
- TextEndOfSegment.cs
- Tokenizer.cs
- MachineKeyConverter.cs
- TreeViewImageIndexConverter.cs
- MarkupExtensionReturnTypeAttribute.cs
- ImageProxy.cs
- ObjectView.cs
- LinkClickEvent.cs
- future.cs
- RecordBuilder.cs
- PrimaryKeyTypeConverter.cs
- XPathAncestorQuery.cs
- ColorConvertedBitmap.cs
- HebrewCalendar.cs
- ColumnHeaderConverter.cs
- ToolStripButton.cs
- Enum.cs
- Attachment.cs
- MatchingStyle.cs
- TraceSource.cs
- ObjectIDGenerator.cs
- processwaithandle.cs
- EmptyEnumerator.cs
- Resources.Designer.cs
- DataGridViewTextBoxColumn.cs
- MouseBinding.cs
- DispatchWrapper.cs
- ServicePrincipalNameElement.cs
- Annotation.cs
- OleStrCAMarshaler.cs
- DependencySource.cs
- PixelFormatConverter.cs
- XmlSchemaValidationException.cs
- DecoderExceptionFallback.cs
- NestedContainer.cs
- ContextStack.cs
- ApplicationManager.cs
- ListViewItemMouseHoverEvent.cs
- CategoryList.cs
- WebPartConnectionsConnectVerb.cs
- CLSCompliantAttribute.cs
- ScriptModule.cs
- SpStreamWrapper.cs
- ClientSettingsSection.cs
- NetworkStream.cs
- CustomAssemblyResolver.cs
- GlyphTypeface.cs
- QueueProcessor.cs
- ParameterCollectionEditor.cs
- XmlnsCache.cs
- FrameworkElement.cs
- DesignerTransaction.cs
- Exceptions.cs
- CanonicalFontFamilyReference.cs
- WebSysDisplayNameAttribute.cs
- HTMLTextWriter.cs
- ConnectionInterfaceCollection.cs
- BindingUtils.cs
- DataGridRowAutomationPeer.cs
- SqlDataSourceFilteringEventArgs.cs
- TextUtf8RawTextWriter.cs
- WebConfigurationHost.cs
- HMACSHA256.cs
- LinqExpressionNormalizer.cs
- BaseServiceProvider.cs
- StylusPlugin.cs
- ControlCommandSet.cs
- EventLogEntry.cs
- ControlPropertyNameConverter.cs
- SHA1Managed.cs
- GlobalizationSection.cs
- Visual.cs
- StringCollection.cs
- DataGridViewCheckBoxColumn.cs
- DirectoryNotFoundException.cs
- printdlgexmarshaler.cs
- ProcessModuleCollection.cs
- EntityTypeEmitter.cs
- StylusPointCollection.cs
- MemberHolder.cs
- CompilerGlobalScopeAttribute.cs
- PolicyFactory.cs
- XmlEntityReference.cs
- RewritingValidator.cs
- DbDataAdapter.cs
- CodeAttachEventStatement.cs
- ChannelBinding.cs
- ACL.cs
- GPStream.cs
- SmiMetaDataProperty.cs
- Config.cs