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
- NativeCppClassAttribute.cs
- EventPropertyMap.cs
- WindowsEditBoxRange.cs
- HandlerFactoryWrapper.cs
- XmlSchemaAttribute.cs
- StringStorage.cs
- DataGridViewColumnDesignTimeVisibleAttribute.cs
- WeakEventManager.cs
- QuaternionValueSerializer.cs
- CustomUserNameSecurityTokenAuthenticator.cs
- EdmToObjectNamespaceMap.cs
- TabControlCancelEvent.cs
- ServerProtocol.cs
- ZipIOExtraField.cs
- DelegatingConfigHost.cs
- _OSSOCK.cs
- DataContractSerializerOperationGenerator.cs
- ACE.cs
- RemoteWebConfigurationHostStream.cs
- WebAdminConfigurationHelper.cs
- XmlEntity.cs
- CachedCompositeFamily.cs
- HandlerBase.cs
- PreservationFileWriter.cs
- PhysicalFontFamily.cs
- MouseGestureConverter.cs
- MsmqSecureHashAlgorithm.cs
- Compilation.cs
- WebPartTransformerAttribute.cs
- _SslStream.cs
- ClipboardProcessor.cs
- SoapTransportImporter.cs
- Compiler.cs
- StatusBarPanelClickEvent.cs
- BufferBuilder.cs
- HostingEnvironment.cs
- WebBrowserDocumentCompletedEventHandler.cs
- Point3DCollectionConverter.cs
- TraceHandler.cs
- QueueSurrogate.cs
- Lease.cs
- HostExecutionContextManager.cs
- ServerValidateEventArgs.cs
- SmtpFailedRecipientsException.cs
- Metadata.cs
- ParsedAttributeCollection.cs
- SpecularMaterial.cs
- DataGridHeaderBorder.cs
- XPathDocumentBuilder.cs
- DataGridParentRows.cs
- peernodestatemanager.cs
- ContextProperty.cs
- ApplyTemplatesAction.cs
- Util.cs
- SizeChangedInfo.cs
- DataBindEngine.cs
- XD.cs
- ObjectIDGenerator.cs
- FunctionQuery.cs
- XmlSchemaComplexType.cs
- Schema.cs
- ActivationServices.cs
- CompositeFontInfo.cs
- DynamicDataExtensions.cs
- XamlNamespaceHelper.cs
- ElementProxy.cs
- XmlParser.cs
- CompilationLock.cs
- WebDisplayNameAttribute.cs
- CellTreeNodeVisitors.cs
- IdleTimeoutMonitor.cs
- HashCodeCombiner.cs
- MatrixAnimationBase.cs
- DiscoveryEndpointElement.cs
- JoinElimination.cs
- ColumnMapProcessor.cs
- ExpressionContext.cs
- XmlHelper.cs
- ReadingWritingEntityEventArgs.cs
- DiscoveryClientReferences.cs
- CompositeFontFamily.cs
- EmptyCollection.cs
- DesignerActionItemCollection.cs
- InstanceCreationEditor.cs
- DefaultValueAttribute.cs
- GlobalProxySelection.cs
- GlobalItem.cs
- GridToolTip.cs
- BamlWriter.cs
- SemanticBasicElement.cs
- DataContract.cs
- AuthenticationManager.cs
- SafeSecurityHelper.cs
- StringValidator.cs
- FixedSOMPage.cs
- ToolTipAutomationPeer.cs
- HttpCookiesSection.cs
- SpellerError.cs
- AssemblyUtil.cs
- DispatcherHookEventArgs.cs