在 WCF 中,请求-响应操作的超时是否会使客户端的通道出错?
如果服务器在发送响应时超时,是否是服务器端的通道故障?
是的,超时会使通道出错-并且始终只有一个通道链接客户端和服务器-服务器没有自己的通道...
你基本上有:
+-----------+ +-----------+
| |_______________________| |
| Client | The Channel | Server |
| |-----------------------| |
+-----------+ +-----------+
实际上只有一个通道连接这两个位。至于超时 - 如果两端为相同的超时定义不同的值,较小的值将“获胜”并变得相关 - 较高的值(在另一端)不被考虑在内。
正确,超时将使通道出错。您可以在客户端和服务器端设置最大超时时间。
这取决于哪个超时。
如果您点击SendTimeout
或ReceiveTimeout
您的绑定(在我的情况下NetTcpBinding
),那么是的,通道将出现故障。
但是,如果你点击OperationTimeout
你的服务(在我的情况下是 DuplexChannel),那么你只会得到一个TimeoutException
并且通道不会出错。