【问题标题】:Getting the System.ServiceModel.Channels.ServiceChannel in a faulted state error, sometimes有时使 System.ServiceModel.Channels.ServiceChannel 处于故障状态错误
【发布时间】:2014-03-21 16:41:31
【问题描述】:

我们最近部署了一个主要的 WPF 应用程序,它取代了一个古老的 VB6 应用程序(感谢上帝,它已经消失了!)它运行良好。然而今天早上我的一个用户得到了“通信对象 System.ServiceModel.Channels.ServiceChannel,不能用于通信,因为它处于故障状态。”错误信息。我们几个月前遇到了这个问题,我在 Stackoverflow 上查找了答案,发现this。从那时起,我小心翼翼地不使用 using 语句来包装我的 WCF 服务。然而,该用户收到此错误消息。更糟糕的是,当我尝试在我的开发盒上运行应用程序时,使用相同的数据,它运行良好。

那么,有时是什么原因导致此错误发生?两台机器都是Windows 7 Pro机器;两者都是 64 位的。当然,头脑更强大,但除此之外我认为没有太大区别。

【问题讨论】:

  • 第一个开始的地方 - Enable WCF Tracing。正如 Deeppansh Gupta 在他的回答中指出的那样,未处理的异常将使通道出错。跟踪日志将帮助您找到该异常。

标签: wpf wcf


【解决方案1】:

在 WCF 中,发生在服务端且未通过 FaultContract 处理的异常会将服务与客户端(即代理)之间的通信通道置于故障状态。因此请检查服务端是否发生异常。

【讨论】:

  • Deepansh,启用 WCF 跟踪是确定服务器上发生了哪些异常的唯一方法吗?
  • 如果在服务器中实现了正确的日志记录,服务器日志应该会捕获异常。
猜你喜欢
  • 2012-11-02
  • 2019-10-27
  • 2011-04-02
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多