OperationContextScope是否也处理通信通道?

时间:2014-01-23 06:11:21

标签: c# wcf operationcontext

OperationContextScope在处理时也会处理通信通道吗?

在下面的示例中,当ServiceMethod第二次执行时,我得到一个“通信对象,System.ServiceModel.Channels.ServiceChannel,因为它处于Faulted状态”而无法用于通信:

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()会传递一个回调。

1 个答案:

答案 0 :(得分:0)

显然,答案是否定的。我有一个OneWay方法,抛出一个未被捕获的异常。该例外从未在服务或客户端中显示过,因此抓住它很棘手。处理这个问题解决了这个问题。