过去两天我一直在网上搜索,但绝不会让我的WCF Duplex服务正常运行。我创建了一个可以从skydrive下载的演示项目:
为了最大限度地减少可能的错误原因,我决定只在回调处理程序中返回一个短字符串,因为那样,没有超出最大邮件大小限制或者超出任何限制。通常,我的WCF服务需要一些时间(+ 15分钟)来计算结果,然后将其返回给客户端。为了模拟这个,我在DoWork()中将执行线程放到了slepp 12分钟。
我得到的例外总是提到receiveTimeout
可能存在的问题,应该增加该问题以防止出现问题。但是,receiveTimeout
(以及我知道的任何其他超时)设置为三小时。
还有一件事:我使用的是.NET Framework 3.5 SP1,使用WsDUalHttpBinding而不是netTcpBinding也会出现问题。
答案 0 :(得分:0)
Harrr!对于那些遇到同样问题的人:我认为,WCF的.NET 3.5实现中存在一个错误。我升级到.NET 4,问题现在解决了。
答案 1 :(得分:0)
在这里查看Per-Session Services并查看打开页面上的“会话终止”部分。
希望这有帮助