围绕此主题的文档很差。我使用WCF服务与Windows服务中托管的NetTcpBinding。问题是会话在处于非活动状态一段时间后被删除。我需要的是永远活着的会话。 WCF可靠的会话有什么帮助吗?或者我可以玩超时设置?
答案 0 :(得分:43)
不,一个可靠的会话也会像任何其他会话一样超时。主要的问题是:为什么你希望你的会话“无穷无尽”?如果你真的需要这个,你需要加快会话的超时时间。
可靠会话的重点是呼叫者将知道丢失的任何消息。与流行的看法相反,可靠的会话不能保证消息的传递 - 但如果无法传递消息,至少呼叫者将知道它。
查看其中一些资源以获取更多背景信息:
答案 1 :(得分:7)
如果你不使用频道,它会在一段时间后关闭。 您可以从绑定更改默认超时(10分钟)。
NetTcpBinding binding = new NetTcpBinding();
binding.ReceiveTimeout = TimeSpan.MaxValue;
binding.ReliableSession.InactivityTimeout = TimeSpan.MaxValue;
在MSDN
了解详情