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
- GACIdentityPermission.cs
- SmiEventStream.cs
- ChannelSinkStacks.cs
- EventManager.cs
- TextTreeText.cs
- Char.cs
- XmlSchemaAll.cs
- PerformanceCounterLib.cs
- X509Certificate.cs
- ObjectSecurity.cs
- RectConverter.cs
- ObjectViewEntityCollectionData.cs
- EmptyWorkItem.cs
- ScrollItemPatternIdentifiers.cs
- RunInstallerAttribute.cs
- ContextTokenTypeConverter.cs
- AssemblyFilter.cs
- QuotedStringWriteStateInfo.cs
- AbstractExpressions.cs
- ConfigsHelper.cs
- ConfigXmlCDataSection.cs
- SqlDataSourceCommandParser.cs
- ArithmeticException.cs
- Peer.cs
- XamlReader.cs
- PerspectiveCamera.cs
- LinqDataSourceView.cs
- SvcMapFileLoader.cs
- SqlConnectionString.cs
- InProcStateClientManager.cs
- TagMapCollection.cs
- AtomMaterializerLog.cs
- StdValidatorsAndConverters.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- XmlTextWriter.cs
- HtmlGenericControl.cs
- UpDownEvent.cs
- PartialTrustVisibleAssembliesSection.cs
- AttributedMetaModel.cs
- ConversionContext.cs
- DATA_BLOB.cs
- SequenceDesigner.cs
- EndEvent.cs
- ComponentDispatcherThread.cs
- PlainXmlWriter.cs
- StyleSelector.cs
- ChangeProcessor.cs
- HostedController.cs
- ObjectDataSourceEventArgs.cs
- ExpressionBindingCollection.cs
- EntityClientCacheKey.cs
- PropertyNames.cs
- FileLoadException.cs
- XamlToRtfWriter.cs
- NetworkAddressChange.cs
- DataKeyPropertyAttribute.cs
- ProcessStartInfo.cs
- PassportAuthenticationEventArgs.cs
- BigInt.cs
- OneWayBindingElement.cs
- XPathPatternBuilder.cs
- Int32Rect.cs
- ReliabilityContractAttribute.cs
- RegisteredHiddenField.cs
- SchemaTableColumn.cs
- InkCanvasInnerCanvas.cs
- TemplatePartAttribute.cs
- HttpListenerResponse.cs
- ProfilePropertyNameValidator.cs
- SQLMoney.cs
- RenameRuleObjectDialog.cs
- AnnouncementEventArgs.cs
- DBDataPermission.cs
- GuidelineSet.cs
- SiteMapProvider.cs
- DescriptionAttribute.cs
- Command.cs
- WebBrowserPermission.cs
- LocatorPart.cs
- DiagnosticsConfiguration.cs
- OleServicesContext.cs
- ParameterCollection.cs
- DataPager.cs
- SerialPort.cs
- WebPartAuthorizationEventArgs.cs
- FixedMaxHeap.cs
- WebConfigurationManager.cs
- ObjectDataSourceSelectingEventArgs.cs
- XmlIgnoreAttribute.cs
- XmlSerializationReader.cs
- TreePrinter.cs
- PostBackTrigger.cs
- RoleServiceManager.cs
- WebPartVerbCollection.cs
- StreamAsIStream.cs
- ValidationUtility.cs
- SqlCaseSimplifier.cs
- CustomValidator.cs
- SoapExtensionTypeElementCollection.cs
- ValueChangedEventManager.cs