如何处理WCF双工超时?

时间:2010-07-15 07:14:14

标签: wcf timeout duplex

过去两天我一直在网上搜索,但绝不会让我的WCF Duplex服务正常运行。我创建了一个可以从skydrive下载的演示项目:

WCFDuplexDemo.zip

为了最大限度地减少可能的错误原因,我决定只在回调处理程序中返回一个短字符串,因为那样,没有超出最大邮件大小限制或者超出任何限制。通常,我的WCF服务需要一些时间(+ 15分钟)来计算结果,然后将其返回给客户端。为了模拟这个,我在DoWork()中将执行线程放到了slepp 12分钟。

我得到的例外总是提到receiveTimeout可能存在的问题,应该增加该问题以防止出现问题。但是,receiveTimeout(以及我知道的任何其他超时)设置为三小时。

还有一件事:我使用的是.NET Framework 3.5 SP1,使用WsDUalHttpBinding而不是netTcpBinding也会出现问题。

2 个答案:

答案 0 :(得分:0)

Harrr!对于那些遇到同样问题的人:我认为,WCF的.NET 3.5实现中存在一个错误。我升级到.NET 4,问题现在解决了。

答案 1 :(得分:0)

在这里查看Per-Session Services并查看打开页面上的“会话终止”部分。

希望这有帮助