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
- InvalidWMPVersionException.cs
- PointConverter.cs
- DBConnection.cs
- HttpRawResponse.cs
- TextTreeUndo.cs
- SpeechSeg.cs
- ListViewItem.cs
- WebPartEditorOkVerb.cs
- DocumentViewerHelper.cs
- PropertyExpression.cs
- SetterBaseCollection.cs
- ComNativeDescriptor.cs
- XmlSerializerFactory.cs
- DetailsViewCommandEventArgs.cs
- HistoryEventArgs.cs
- CornerRadius.cs
- SqlGatherProducedAliases.cs
- WmlLiteralTextAdapter.cs
- DayRenderEvent.cs
- UnionCqlBlock.cs
- HwndStylusInputProvider.cs
- Marshal.cs
- UniqueIdentifierService.cs
- DataGridViewCellStyle.cs
- AccessViolationException.cs
- TiffBitmapDecoder.cs
- SafeFileMappingHandle.cs
- XmlSerializerFactory.cs
- DetectRunnableInstancesTask.cs
- EmptyStringExpandableObjectConverter.cs
- DataKeyArray.cs
- ReflectEventDescriptor.cs
- MetadataArtifactLoaderComposite.cs
- InternalMappingException.cs
- String.cs
- XmlSchemaExternal.cs
- FrugalMap.cs
- VectorAnimation.cs
- IsolatedStorageFile.cs
- ClickablePoint.cs
- MediaCommands.cs
- KoreanLunisolarCalendar.cs
- ValueSerializer.cs
- SemaphoreSecurity.cs
- IntSecurity.cs
- ToolStripSeparatorRenderEventArgs.cs
- HttpResponse.cs
- Site.cs
- TimeoutException.cs
- RawStylusInputCustomDataList.cs
- Pen.cs
- ThreadPool.cs
- BaseDataListPage.cs
- CryptoProvider.cs
- InternalConfigConfigurationFactory.cs
- ExcludePathInfo.cs
- TabPanel.cs
- WebReferencesBuildProvider.cs
- DataRecordInfo.cs
- propertytag.cs
- ListControlConvertEventArgs.cs
- ExclusiveCanonicalizationTransform.cs
- CancelEventArgs.cs
- IndexerNameAttribute.cs
- SuppressIldasmAttribute.cs
- DiscoveryClientReferences.cs
- AsyncStreamReader.cs
- TextServicesCompartment.cs
- TextEditorCharacters.cs
- SqlIdentifier.cs
- AssemblyAttributesGoHere.cs
- ApplicationGesture.cs
- SynchronousChannelMergeEnumerator.cs
- XMLUtil.cs
- RecordsAffectedEventArgs.cs
- RequestCache.cs
- _IPv6Address.cs
- ReversePositionQuery.cs
- XmlResolver.cs
- DataGridViewCellConverter.cs
- ToolStripRenderEventArgs.cs
- TreeNodeCollection.cs
- ExpressionHelper.cs
- BuildProvidersCompiler.cs
- KeyValuePairs.cs
- KeyedCollection.cs
- EditorPartCollection.cs
- ProcessHost.cs
- CheckedListBox.cs
- Screen.cs
- PropertyGrid.cs
- UnhandledExceptionEventArgs.cs
- TextParaLineResult.cs
- DependencyObjectType.cs
- ELinqQueryState.cs
- ConvertEvent.cs
- ProtocolsConfiguration.cs
- ValidatingPropertiesEventArgs.cs
- COM2ExtendedBrowsingHandler.cs
- MethodImplAttribute.cs