Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / WCF / ServiceModel / System / ServiceModel / OperationContextScope.cs / 1 / OperationContextScope.cs
//------------------------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------------------------- namespace System.ServiceModel { using System; using System.ServiceModel.Channels; using System.Threading; public sealed class OperationContextScope : IDisposable { [ThreadStatic] static OperationContextScope currentScope; OperationContext currentContext; bool disposed; readonly OperationContext originalContext = OperationContext.Current; readonly OperationContextScope originalScope = OperationContextScope.currentScope; readonly Thread thread = Thread.CurrentThread; public OperationContextScope(IContextChannel channel) { this.PushContext(new OperationContext(channel)); } public OperationContextScope(OperationContext context) { this.PushContext(context); } public void Dispose() { if (!this.disposed) { this.disposed = true; this.PopContext(); } } void PushContext(OperationContext context) { this.currentContext = context; OperationContextScope.currentScope = this; OperationContext.Current = this.currentContext; } void PopContext() { if (this.thread != Thread.CurrentThread) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxInvalidContextScopeThread0))); if (OperationContextScope.currentScope != this) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxInterleavedContextScopes0))); if (OperationContext.Current != this.currentContext) throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.GetString(SR.SFxContextModifiedInsideScope0))); OperationContextScope.currentScope = this.originalScope; OperationContext.Current = this.originalContext; if (this.currentContext != null) this.currentContext.SetClientReply(null, false); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- newinstructionaction.cs
- QilVisitor.cs
- EntitySqlQueryBuilder.cs
- AuthStoreRoleProvider.cs
- EntityDataSourceDataSelection.cs
- Typeface.cs
- StagingAreaInputItem.cs
- SystemWebSectionGroup.cs
- RuntimeConfigLKG.cs
- ReferencedType.cs
- CreateUserWizardStep.cs
- EventPropertyMap.cs
- SplashScreen.cs
- PageStatePersister.cs
- SiblingIterators.cs
- SessionKeyExpiredException.cs
- FrameAutomationPeer.cs
- SkinBuilder.cs
- AspNetSynchronizationContext.cs
- FixedPosition.cs
- safemediahandle.cs
- XmlChildEnumerator.cs
- DeferredTextReference.cs
- RoutingBehavior.cs
- Vector3DValueSerializer.cs
- DataObjectEventArgs.cs
- OperationParameterInfoCollection.cs
- ClrProviderManifest.cs
- PathNode.cs
- TypeHelpers.cs
- PeerTransportListenAddressValidatorAttribute.cs
- DbConnectionOptions.cs
- DataGridViewColumnHeaderCell.cs
- UpdateDelegates.Generated.cs
- UriParserTemplates.cs
- TextProviderWrapper.cs
- TypeSystem.cs
- FontWeight.cs
- KeyValueInternalCollection.cs
- WebPartConnectionCollection.cs
- ScopeCompiler.cs
- ListViewDeleteEventArgs.cs
- _SSPIWrapper.cs
- VectorConverter.cs
- HttpListener.cs
- AppDomainProtocolHandler.cs
- QualifiedCellIdBoolean.cs
- StateMachineSubscriptionManager.cs
- Error.cs
- CategoryGridEntry.cs
- AlphaSortedEnumConverter.cs
- QilLoop.cs
- ClientTargetSection.cs
- XmlSchemaSimpleTypeUnion.cs
- TransformGroup.cs
- Int32EqualityComparer.cs
- FormsAuthenticationUser.cs
- OptimisticConcurrencyException.cs
- TextShapeableCharacters.cs
- ProcessModuleCollection.cs
- GridPattern.cs
- IgnoreDeviceFilterElement.cs
- StructuralCache.cs
- WmlObjectListAdapter.cs
- AlignmentXValidation.cs
- FreezableDefaultValueFactory.cs
- InProcStateClientManager.cs
- OLEDB_Enum.cs
- AudioFormatConverter.cs
- InArgumentConverter.cs
- Object.cs
- wpf-etw.cs
- SrgsSubset.cs
- WindowsStatusBar.cs
- XmlSchemaSimpleContent.cs
- ConfigurationUtility.cs
- SQLResource.cs
- ContextMenuStrip.cs
- MailHeaderInfo.cs
- SchemaCollectionPreprocessor.cs
- GeometryDrawing.cs
- ServerValidateEventArgs.cs
- ColumnBinding.cs
- ValidationEventArgs.cs
- MimeObjectFactory.cs
- DesignerAttributeInfo.cs
- ContextMenu.cs
- ObjectTag.cs
- SubtreeProcessor.cs
- ToolStripDropDownClosingEventArgs.cs
- MouseOverProperty.cs
- Convert.cs
- SimpleExpression.cs
- EventMappingSettings.cs
- ExtendedProperty.cs
- dataprotectionpermissionattribute.cs
- OdbcEnvironment.cs
- ResXBuildProvider.cs
- MachineKey.cs
- EntityKey.cs