如何排除故障:wcf应用程序停止通过命名管道接收数据?

时间:2012-02-07 09:38:45

标签: c# wcf

我有UI WPF应用程序,它显示从WCF命名管道收到的数据。 一段时间(约30分钟)数据被冻结(但重启后一切都好)。 没有显示错误。 UI负责。 如何解决这个问题?可能我应该使用“try / catch”来覆盖整个应用程序,并在messagebox中显示任何异常?

1 个答案:

答案 0 :(得分:0)

默认情况下,wcf配置为短期会话。您必须将NetNamedPipeBinding的ReceiveTimeout设置为TimeSpan.MaxValue才能消除此行为。
这应该可以解决问题,无论如何,最好在你的频道的Faulted,Closed,...事件中添加一个处理程序,以了解发生了什么。 (您必须将频道转换为ICommunicationObject)。因为如果在wcf中出现任何问题,你唯一的解决方案就是创建一个新的频道(不可能从故障状态或关闭状态回到打开状态)。