【问题标题】:Close and Abort in custom service channel在自定义服务通道中关闭和中止
【发布时间】:2012-09-12 20:01:00
【问题描述】:

我的客户正在使用一个抛出异常的 WCF 服务 (例外:通信对象 System.ServiceModel.Channels.ServiceChannel 不能用于通信,因为它处于故障状态)。 所有后续调用都抛出相同的异常。

我在网上看到客户端需要关闭()/中止()通道,这将解决问题。完全正确吗?

我也在使用服务开发人员提供的客户服务频道工厂。当我创建通道时,它不显示关闭和中止方法。那么,当我在客户端创建自定义服务通道实例时,如何获取这些关闭和中止方法呢?

【问题讨论】:

标签: wcf abort faulted


【解决方案1】:

假设您有一个实现 IClientChannel 接口的代理实例,这里有一种方法(希望是正确的方法)来使用它。

IClientChannel clientChannel = (IClientChannel)proxy;
bool success = false;

try
{
    // do something with the proxy
    clientChannel.Close();
    success = true;
}
finally
{
    if (!success)
    {
        clientChannel.Abort();
    }
}

您可能还想查看this。您可以使用共享类或函数来包装您的操作。

【讨论】:

  • 好的。我想知道,在 clinet 端单独执行此操作应该可以解决问题还是在 WCF 端也需要进行一些编码?
猜你喜欢
  • 2015-09-11
  • 2021-09-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 2018-07-03
相关资源
最近更新 更多