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
- Rect3D.cs
- SelectedCellsChangedEventArgs.cs
- CornerRadiusConverter.cs
- ISFTagAndGuidCache.cs
- RemotingClientProxy.cs
- SecurityKeyEntropyMode.cs
- WasAdminWrapper.cs
- SynchronizationContext.cs
- Token.cs
- CategoryEditor.cs
- InternalResources.cs
- ValidatedControlConverter.cs
- SchemaDeclBase.cs
- TransformProviderWrapper.cs
- TextDecorationCollectionConverter.cs
- DBBindings.cs
- FlowLayoutPanel.cs
- EmptyQuery.cs
- WindowsScrollBar.cs
- ManipulationStartingEventArgs.cs
- ConnectionPointCookie.cs
- TabControlDesigner.cs
- SqlInternalConnection.cs
- PartitionerQueryOperator.cs
- FileUtil.cs
- FormViewModeEventArgs.cs
- IImplicitResourceProvider.cs
- InternalResources.cs
- WebBrowserEvent.cs
- OracleSqlParser.cs
- HashMembershipCondition.cs
- odbcmetadatacollectionnames.cs
- SafeSecurityHelper.cs
- FactoryGenerator.cs
- XsltArgumentList.cs
- BinaryObjectWriter.cs
- MetadataArtifactLoaderComposite.cs
- ProxyElement.cs
- PackageDigitalSignatureManager.cs
- SmiContextFactory.cs
- Package.cs
- ExternalCalls.cs
- XmlAttributeOverrides.cs
- QilTernary.cs
- NumericExpr.cs
- QueryOutputWriter.cs
- CorrelationManager.cs
- HtmlElementEventArgs.cs
- DataBinder.cs
- HttpHandlerActionCollection.cs
- DatatypeImplementation.cs
- CompareInfo.cs
- ToolStripDropDownMenu.cs
- _CacheStreams.cs
- NamedPipeChannelFactory.cs
- StringToken.cs
- XsdDuration.cs
- PerformanceCounterLib.cs
- XmlNavigatorStack.cs
- ListDictionary.cs
- RecordsAffectedEventArgs.cs
- XhtmlBasicLiteralTextAdapter.cs
- HighContrastHelper.cs
- WorkflowTimerService.cs
- DropDownList.cs
- ConfigsHelper.cs
- SmtpTransport.cs
- Compensate.cs
- X509CertificateInitiatorClientCredential.cs
- BinaryParser.cs
- ProfileSection.cs
- WindowsButton.cs
- InvalidOleVariantTypeException.cs
- XmlSchemaAttributeGroup.cs
- SqlOuterApplyReducer.cs
- EnumerationRangeValidationUtil.cs
- webeventbuffer.cs
- ExpressionBinding.cs
- EpmSyndicationContentSerializer.cs
- DataBinder.cs
- ScrollEventArgs.cs
- QilList.cs
- ToolStripSplitStackLayout.cs
- GenerateTemporaryAssemblyTask.cs
- InputScopeManager.cs
- TypeGeneratedEventArgs.cs
- BamlStream.cs
- BitmapCodecInfo.cs
- AuthenticationSection.cs
- BamlBinaryWriter.cs
- AssociationTypeEmitter.cs
- DocumentStatusResources.cs
- Aggregates.cs
- ContainsRowNumberChecker.cs
- ColumnHeaderConverter.cs
- FamilyMap.cs
- _IPv6Address.cs
- XAMLParseException.cs
- AbsoluteQuery.cs
- CommandBindingCollection.cs