过去两天我一直在网上搜索,但绝不能让我的 WCF Duplex 服务正常工作。我创建了一个可以从 skydrive 下载的演示项目:
为了尽量减少可能的错误原因,我决定在回调处理程序中只返回一个短字符串,因为这样就不会超过最大消息大小限制或任何内容。通常,我的 WCF 服务需要一些时间(+15 分钟)来计算结果,然后将其返回给客户端。为了模拟这一点,我在 DoWork() 中让执行线程休眠了 12 分钟。
我得到的异常总是提到可能的问题receiveTimeout
,应该增加它以防止出现问题。但是,receiveTimeout
(以及我知道的任何其他超时)设置为三个小时。
还有一件事:我使用的是 .NET Framework 3.5 SP1,并且在使用 WsDUalHttpBinding 而不是 netTcpBinding 时也会出现问题。