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
- TypeLibConverter.cs
- Size.cs
- SchemaNames.cs
- StreamUpdate.cs
- FocusTracker.cs
- DataRow.cs
- FieldCollectionEditor.cs
- TableDetailsCollection.cs
- FormatterServicesNoSerializableCheck.cs
- WindowsImpersonationContext.cs
- ModelTreeEnumerator.cs
- ITextView.cs
- BookmarkTable.cs
- WebPartZoneBase.cs
- NumericUpDown.cs
- ByteFacetDescriptionElement.cs
- TypeHelpers.cs
- TriggerActionCollection.cs
- CompModSwitches.cs
- MultidimensionalArrayItemReference.cs
- IpcChannel.cs
- iisPickupDirectory.cs
- ComponentResourceManager.cs
- NativeObjectSecurity.cs
- UIElement3DAutomationPeer.cs
- WebDisplayNameAttribute.cs
- TextServicesLoader.cs
- InfoCardRSAPKCS1SignatureFormatter.cs
- QilTargetType.cs
- SafeMemoryMappedFileHandle.cs
- keycontainerpermission.cs
- TextRangeEdit.cs
- CommandEventArgs.cs
- XmlChoiceIdentifierAttribute.cs
- DataColumnMapping.cs
- AppDomain.cs
- Metadata.cs
- ServiceEndpoint.cs
- SoapServerProtocol.cs
- GenericEnumConverter.cs
- StorageBasedPackageProperties.cs
- SafeFileMappingHandle.cs
- TypeContext.cs
- _NtlmClient.cs
- EnlistmentTraceIdentifier.cs
- MenuTracker.cs
- Vector3DConverter.cs
- VSWCFServiceContractGenerator.cs
- DataServiceResponse.cs
- StaticExtensionConverter.cs
- WorkerRequest.cs
- NaturalLanguageHyphenator.cs
- CustomWebEventKey.cs
- TransactionChannelFaultConverter.cs
- DataGridAddNewRow.cs
- TextSelectionHighlightLayer.cs
- CatalogZone.cs
- QueryGeneratorBase.cs
- DateTimeSerializationSection.cs
- IDReferencePropertyAttribute.cs
- MultiView.cs
- EntityDataSourceContainerNameConverter.cs
- Animatable.cs
- LabelEditEvent.cs
- ContentTypeSettingClientMessageFormatter.cs
- TextSelectionHelper.cs
- UrlMappingsModule.cs
- RenameRuleObjectDialog.Designer.cs
- AnimatedTypeHelpers.cs
- CapabilitiesUse.cs
- AsymmetricKeyExchangeFormatter.cs
- ProfilePropertySettingsCollection.cs
- NativeMethodsCLR.cs
- DataGridCellInfo.cs
- FormsAuthenticationModule.cs
- InvalidOperationException.cs
- X509CertificateChain.cs
- CompileLiteralTextParser.cs
- ScalarType.cs
- PaintValueEventArgs.cs
- TimeZone.cs
- CodeDomSerializerException.cs
- DataGridViewLinkColumn.cs
- XmlMapping.cs
- PreservationFileWriter.cs
- srgsitem.cs
- HttpConfigurationContext.cs
- CopyNamespacesAction.cs
- PathNode.cs
- SqlUtils.cs
- Guid.cs
- ObjectStateManagerMetadata.cs
- MobileControlsSection.cs
- X509Certificate.cs
- ValueTypeFixupInfo.cs
- TypeBuilder.cs
- ObjectAnimationUsingKeyFrames.cs
- PublishLicense.cs
- SocketInformation.cs
- ObjectManager.cs