OperationContextScope 是否在处置时也处置通信通道?
在以下示例中,我在第二次执行时收到“通信对象 System.ServiceModel.Channels.ServiceChannel,因为它处于故障状态,因此无法用于通信”异常ServiceMethod
:
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() 会传递一个回调。