1

我有一个 IIS 托管 WCF REST 4.0 服务。当我执行一个需要一个多小时才能运行的休息操作时,它永远不会向客户端返回响应。相反,我在 4 小时后收到以下异常:

“请求通道在 03:59:59.9979998 之后等待回复时超时。增加传递给 Request 调用的超时值或增加 Binding 上的 SendTimeout 值。分配给此操作的时间可能是更长的超时时间”

我已将客户端和服务器上的 WebHttpBinding SendTimeout 和 ReceiveTimeout 设置为 4 小时。我还设置了 asp.net httpRuntime executionTimeout="7200"。

我知道事实上服务操作在 1 多小时内完成大部分时间(应用程序日志记录)。如果它恰好完成快于一个小时,则响应将完美返回。

4

1 回答 1

0

我认为您正在使用请求-回复方式来调用服务并且您的客户端等待 1 小时才能获得回复,为什么不使用回调操作,以便服务可以在完成后向客户端发送回复而客户端不需要等待?

于 2011-08-11T00:53:08.037 回答