在WCF中,超时是否会对通道造成错误?

时间:2010-04-15 15:44:08

标签: wcf timeoutexception

在WCF中,请求 - 响应操作的超时是否会使客户端的通道出现故障?

如果服务器在发送响应时超时,那么服务器端的通道是否出现故障?

3 个答案:

答案 0 :(得分:6)

是的,超时会使频道出错 - 并且始终只有一个频道链接客户端和服务器 - 服务器没有自己的频道......

你基本上有:

+-----------+                       +-----------+
|           |_______________________|           |
|  Client   |     The Channel       |  Server   |
|           |-----------------------|           |
+-----------+                       +-----------+

实际上只有一个通道连接这两个位。至于超时 - 如果两端为同一超时定义不同的值,则较小的值将“赢”并变得相关 - 不考虑较高的值(在另一端)。

答案 1 :(得分:1)

正确,超时将使通道出错。您可以在客户端和服务器端设置最大超时时间。

答案 2 :(得分:0)

这取决于哪个超时时间。

如果您击中了绑定的SendTimeoutReceiveTimeout(在我的情况下为NetTcpBinding),那么可以,该频道将发生故障。

但是,如果您点击了服务的OperationTimeout(在我的情况下是DuplexChannel),那么您只会得到一个TimeoutException,该频道将出现故障。