没有传输安全性的 WCF 可靠 session 不会按时发生故障事件

标签 wcf reliability faulted

我遇到了一个非常有趣的可靠 session 行为。我正在使用 netTcp 绑定(bind) + 双工 channel + 可靠 session 。

当我尝试在 channel.faulted 上收听时,如果将安全模式设置为 transport ,当客户端断开连接时,faulted 事件将立即触发。

但是,当我将绑定(bind)的安全模式设置为无或消息时,故障事件不再在相同情况下触发。他们最终会在服务器端出现一半的 ReciveTimeout 故障,我理解这是因为可靠 session 会在那时发送心跳消息。

问题是:为什么 wcf 绑定(bind)没有按时出错?

这种情况的解决方法是我可以手动“ping”连接。

最佳答案

NetTcp 绑定(bind)默认使用 Transport securityWindows credentials .默认情况下,除 BasicHttp 和 WebHttp 之外的所有绑定(bind)都是安全的。

关于没有传输安全性的 WCF 可靠 session 不会按时发生故障事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4703732/

相关文章:

c# - Nuget hell : Cannot reference NuGet package in UWP application due to public key difference

C# 如何确保所需的 UDP 数据到达客户端/服务器?

task-parallel-library - TPL数据流操作 block 可以在故障后重置吗?

c# - 处理进入故障状态的持久性 WCF 客户端

c# - 如何使用 ContinueWith 正确管理任务中的异常

wcf - WCF 是否支持任何类型的简历功能?

wcf - 64 位 Windows Server 2012 上的 IIS 将无法运行 ElasticBeanstalk 部署的 WCF 应用程序

sockets - socket 可靠吗?

wcf - 如何以soap格式WCF设置属性