【发布时间】:2014-02-13 13:27:04
【问题描述】:
OperationContextScope 是否在处置通信通道时也处置它?
在以下示例中,当ServiceMethod 第二次执行时,我得到一个“通信对象 System.ServiceModel.Channels.ServiceChannel,因为它处于故障状态,因此无法用于通信”异常:
clientProxy = ...
public int ServiceMethod()
{
using(OperationContextScope c = new OperationContextScope((IClientChannel)clientProxy))
{
//Add request header
OperationContext.Current.OutgoingMessageHeaders.Add(...)
clientProxy.method(...); //When this execute the second time, a fault state exception occur
}
//Add reply header
OperationContext.Current.OutgoingMessageHeaders.Add(...)
return 1;
}
另外,如果是重要信息,clientProxy.method() 会传递一个回调。
【问题讨论】:
标签: c# wcf operationcontext