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
- QueryableDataSourceEditData.cs
- PassportPrincipal.cs
- DesignerVerb.cs
- ContentDisposition.cs
- SqlUserDefinedTypeAttribute.cs
- UIElement3DAutomationPeer.cs
- LazyTextWriterCreator.cs
- ServiceReference.cs
- CharConverter.cs
- TextBoxView.cs
- MultilineStringConverter.cs
- WebConfigManager.cs
- EntityDataSourceUtil.cs
- BooleanAnimationUsingKeyFrames.cs
- SocketAddress.cs
- BaseCollection.cs
- TransformDescriptor.cs
- FontSource.cs
- SqlReorderer.cs
- PolyQuadraticBezierSegment.cs
- Queue.cs
- SlipBehavior.cs
- ListViewDeleteEventArgs.cs
- ToolBar.cs
- WebPartUserCapability.cs
- XmlSchemaCompilationSettings.cs
- CorrelationKeyCalculator.cs
- OdbcConnectionOpen.cs
- BinaryFormatterWriter.cs
- StylusEditingBehavior.cs
- ArrayHelper.cs
- WebException.cs
- MenuCommandService.cs
- RelationshipManager.cs
- DynamicObject.cs
- ListControl.cs
- WriterOutput.cs
- TransformerConfigurationWizardBase.cs
- StaticFileHandler.cs
- SafeNativeMethods.cs
- CompensatableTransactionScopeActivity.cs
- Int32AnimationUsingKeyFrames.cs
- CustomWebEventKey.cs
- EventLogTraceListener.cs
- MarshalDirectiveException.cs
- InheritanceRules.cs
- EntityDataSourceViewSchema.cs
- CipherData.cs
- Pkcs9Attribute.cs
- PackageStore.cs
- SQLSingle.cs
- MailBnfHelper.cs
- DesignRelationCollection.cs
- BitmapDecoder.cs
- Deserializer.cs
- Assembly.cs
- BehaviorDragDropEventArgs.cs
- ScalarOps.cs
- ImmComposition.cs
- BoundsDrawingContextWalker.cs
- IsolatedStorageException.cs
- Hashtable.cs
- HttpException.cs
- FacetChecker.cs
- BrushValueSerializer.cs
- PageAsyncTaskManager.cs
- SoapConverter.cs
- JulianCalendar.cs
- XmlByteStreamReader.cs
- ColumnWidthChangedEvent.cs
- LinearGradientBrush.cs
- InternalTypeHelper.cs
- ImageSource.cs
- TextServicesManager.cs
- KeyEvent.cs
- GifBitmapDecoder.cs
- MethodBuilderInstantiation.cs
- FontCacheLogic.cs
- XmlWriterSettings.cs
- COAUTHIDENTITY.cs
- DotExpr.cs
- JsonSerializer.cs
- CreateUserErrorEventArgs.cs
- OdbcTransaction.cs
- DataViewSetting.cs
- CodeDomDecompiler.cs
- WebServiceParameterData.cs
- CaseExpr.cs
- BitmapCache.cs
- WSHttpBindingCollectionElement.cs
- ListChangedEventArgs.cs
- XmlChildNodes.cs
- Cell.cs
- EnterpriseServicesHelper.cs
- RadialGradientBrush.cs
- PolyQuadraticBezierSegment.cs
- ContainsRowNumberChecker.cs
- SessionViewState.cs
- ZipPackagePart.cs
- PathFigureCollectionConverter.cs