【发布时间】:2011-02-24 01:40:35
【问题描述】:
围绕这个主题的文档很差。我将 WCF 服务与托管在 Windows 服务中的 NetTcpBinding 一起使用。问题是会话在一段时间不活动时会被丢弃。我需要的是始终存在的会话。 WCF 可靠会话是否有帮助?或者我可以只玩超时设置?
【问题讨论】:
标签: wcf nettcpbinding
围绕这个主题的文档很差。我将 WCF 服务与托管在 Windows 服务中的 NetTcpBinding 一起使用。问题是会话在一段时间不活动时会被丢弃。我需要的是始终存在的会话。 WCF 可靠会话是否有帮助?或者我可以只玩超时设置?
【问题讨论】:
标签: wcf nettcpbinding
不,可靠会话也会像任何其他会话一样超时。真正的主要问题是:您到底为什么希望您的会议“无休止”?如果你真的需要这个,你需要增加会话的超时时间。
可靠会话的要点是调用者将知道丢失的任何消息。与流行的看法相反,可靠会话不能保证消息的传递 - 但如果消息无法传递,至少调用者会知道它。
查看其中一些资源以获取更多背景信息:
【讨论】:
如果你不使用频道,它会在一段时间后关闭自己。 您可以更改绑定的默认超时时间(即 10 分钟)。
NetTcpBinding binding = new NetTcpBinding();
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.ReliableSession.InactivityTimeout = TimeSpan.MaxValue;
阅读更多MSDN
【讨论】: