WCF可靠会话的目的是什么?

WCF可靠会话的目的是什么?,wcf,nettcpbinding,Wcf,Nettcpbinding,关于这个主题的文档很差。我将WCF服务与托管在Windows服务中的NetTcpBinding一起使用。问题是会话在一段时间内处于非活动状态时会被丢弃。我需要的是始终处于活动状态的会话。WCF会话可靠吗?或者我可以只玩超时设置?不,可靠的会话也会像其他会话一样超时。真正的主要问题是:你到底为什么希望你的课程“没完没了”??如果你真的需要这个,你需要加快会议的超时时间 可靠会话的要点是调用方将知道丢失的任何消息。与普遍的看法相反,可靠的会话不能保证消息的传递——但如果消息不能传递,至少调用方会知道

关于这个主题的文档很差。我将WCF服务与托管在Windows服务中的NetTcpBinding一起使用。问题是会话在一段时间内处于非活动状态时会被丢弃。我需要的是始终处于活动状态的会话。WCF会话可靠吗?或者我可以只玩超时设置?

不,可靠的会话也会像其他会话一样超时。真正的主要问题是:你到底为什么希望你的课程“没完没了”??如果你真的需要这个,你需要加快会议的超时时间

可靠会话的要点是调用方将知道丢失的任何消息。与普遍的看法相反,可靠的会话不能保证消息的传递——但如果消息不能传递,至少调用方会知道

有关更多背景信息,请查看以下部分资源:


    • 如果您不使用该频道,它会在一段时间后自动关闭。 您可以更改绑定的默认超时(10分钟)

      NetTcpBinding binding = new NetTcpBinding();
      binding.ReceiveTimeout = TimeSpan.MaxValue;
      binding.ReliableSession.InactivityTimeout = TimeSpan.MaxValue;
      

      请在

      上阅读更多信息,感谢您澄清了什么是可靠的会话。关于“无止境”课程:我有一个事件驱动系统。当消息到来时,客户端应该调用一些WCF服务。信息可能是每秒钟都会出现的,因此及时处理每一条信息是很重要的。有时,收到消息的间隔可能远大于一秒钟,比如说一到两天。所以我需要一些维持生命的机制。注:为什么?如果两条消息之间的间隔是两天,那么在我看来,让会话一直处于活动状态是没有意义的……在每秒都收到消息的情况下,每次收到消息时创建一个通道太昂贵了。虽然我同意在间隔一天的情况下没有必要让会议结束,但我有一个理由。有时通信是从服务启动的!如果连接断开,这在某些情况下是不好的,因为a)我们不知道我们的服务是否仍然有效b)我们无法访问任何特定用途的广播或消息。但我同意,这看起来像是延长了暂停时间。