我遇到了一个非常有趣的可靠会话行为。我正在使用 netTcp 绑定 + 双工通道 + 可靠会话。
当我尝试监听 channel.faulted 时,如果将安全模式设置为 transport ,当客户端断开连接时,faulted 事件将立即触发。
但是,当我将绑定的安全模式设置为无或消息时,故障事件不再在相同情况下触发。他们最终会在服务器端出现一半的 ReciveTimeout 故障,我理解这是因为可靠会话会在那时发送心跳消息。
问题是:为什么 wcf 绑定没有按时出错?
这种情况的解决方法是我可以手动“ping”连接。