围绕这个主题的文档很差。我将 WCF 服务与托管在 Windows 服务中的 NetTcpBinding 一起使用。问题是会话在一段时间不活动时会被丢弃。我需要的是始终存在的会话。WCF 可靠会话是否有帮助?或者我可以只玩超时设置?
问问题
32070 次
2 回答
46
不,一个可靠的会话也会像任何其他会话一样超时。真正的主要问题是:您到底为什么希望您的会议“无休止”?如果你真的需要这个,你需要增加会话的超时时间。
可靠会话的要点是调用者将知道丢失的任何消息。与普遍的看法相反,可靠会话不能保证消息的传递——但如果无法传递消息,至少调用者会知道它。
查看其中一些资源以获取更多背景信息:
于 2010-05-26T08:32:35.237 回答
7
如果你不使用频道,它会在一段时间后关闭自己。您可以从绑定中更改默认超时(即 10 分钟)。
NetTcpBinding binding = new NetTcpBinding();
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.ReliableSession.InactivityTimeout = TimeSpan.MaxValue;
在MSDN上阅读更多内容
于 2013-02-27T17:26:49.937 回答