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
- SafeNativeMethodsCLR.cs
- DragDrop.cs
- LiteralLink.cs
- DoubleAnimationClockResource.cs
- BookmarkScopeInfo.cs
- EnumUnknown.cs
- UserControlFileEditor.cs
- WindowsListViewScroll.cs
- EntityStoreSchemaGenerator.cs
- SessionState.cs
- RegularExpressionValidator.cs
- GetWinFXPath.cs
- Bold.cs
- HttpContextBase.cs
- BaseComponentEditor.cs
- EmptyStringExpandableObjectConverter.cs
- LostFocusEventManager.cs
- ByteStream.cs
- RegexReplacement.cs
- _ListenerAsyncResult.cs
- SystemSounds.cs
- FilteredAttributeCollection.cs
- AssociationTypeEmitter.cs
- XmlNamespaceMapping.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- NativeMethods.cs
- AsymmetricSecurityBindingElement.cs
- Label.cs
- HtmlTableCellCollection.cs
- ResourceDescriptionAttribute.cs
- PermissionRequestEvidence.cs
- UpDownBaseDesigner.cs
- ButtonBase.cs
- Automation.cs
- Calendar.cs
- HttpCapabilitiesSectionHandler.cs
- LoadWorkflowByInstanceKeyCommand.cs
- HtmlPageAdapter.cs
- ImageButton.cs
- RuleSettings.cs
- InternalSendMessage.cs
- SchemaImporter.cs
- ConfigurationLockCollection.cs
- ProxyWebPartManager.cs
- SafeFindHandle.cs
- thaishape.cs
- QuaternionValueSerializer.cs
- DataGridViewComboBoxColumnDesigner.cs
- WebRequestModuleElementCollection.cs
- mansign.cs
- hresults.cs
- GenerateTemporaryTargetAssembly.cs
- ContainerTracking.cs
- UpdateTracker.cs
- FacetDescriptionElement.cs
- ColorAnimationUsingKeyFrames.cs
- CharKeyFrameCollection.cs
- CommandEventArgs.cs
- PropertyMappingExceptionEventArgs.cs
- LayoutEditorPart.cs
- HwndKeyboardInputProvider.cs
- LabelExpression.cs
- XmlSchemaIdentityConstraint.cs
- mactripleDES.cs
- StateMachineExecutionState.cs
- CodeSnippetStatement.cs
- ScrollChrome.cs
- AtomicFile.cs
- _LocalDataStoreMgr.cs
- SqlInfoMessageEvent.cs
- UnsafeNativeMethodsMilCoreApi.cs
- ImageFormat.cs
- HtmlForm.cs
- PropertyPathWorker.cs
- updatecommandorderer.cs
- ImageFormat.cs
- NativeMethods.cs
- Msmq.cs
- ToolStripRenderEventArgs.cs
- ProfilePropertyNameValidator.cs
- SettingsPropertyCollection.cs
- DataMember.cs
- TextPointer.cs
- HtmlTableRow.cs
- Vector3dCollection.cs
- Bind.cs
- InteropEnvironment.cs
- TableRowGroup.cs
- ConfigsHelper.cs
- DesignerMetadata.cs
- BufferedWebEventProvider.cs
- OracleBFile.cs
- ListBox.cs
- TextElementCollectionHelper.cs
- ExternalFile.cs
- Compiler.cs
- BamlTreeNode.cs
- DataListItemCollection.cs
- CollectionChangeEventArgs.cs
- EntityDataSourceValidationException.cs