private void PopContext() { if ((OperationContext.DisableAsyncFlow ? s_currentScope : s_asyncCurrentScope.Value) != this) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.SFxInterleavedContextScopes0)); } if (OperationContext.Current != _currentContext) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SR.SFxContextModifiedInsideScope0)); } if (OperationContext.DisableAsyncFlow) { s_currentScope = _originalScope; } else { s_asyncCurrentScope.Value = _originalScope; } OperationContext.Current = _originalContext; if (_currentContext != null) { _currentContext.SetClientReply(null, false); } }
private void PopContext() { if (OperationContextScope.s_currentScope != this) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SRServiceModel.SFxInterleavedContextScopes0)); } if (OperationContext.Current != _currentContext) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidOperationException(SRServiceModel.SFxContextModifiedInsideScope0)); } OperationContextScope.s_currentScope = _originalScope; OperationContext.Current = _originalContext; if (_currentContext != null) { _currentContext.SetClientReply(null, false); } }