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

时间:2010-05-26 08:25:58

标签: wcf nettcpbinding

围绕此主题的文档很差。我使用WCF服务与Windows服务中托管的NetTcpBinding。问题是会话在处于非活动状态一段时间后被删除。我需要的是永远活着的会话。 WCF可靠的会话有什么帮助吗?或者我可以玩超时设置?

2 个答案:

答案 0 :(得分:43)

不,一个可靠的会话也会像任何其他会话一样超时。主要的问题是:为什么你希望你的会话“无穷无尽”?如果你真的需要这个,你需要加快会话的超时时间。

可靠会话的重点是呼叫者将知道丢失的任何消息。与流行的看法相反,可靠的会话不能保证消息的传递 - 但如果无法传递消息,至少呼叫者将知道它。

查看其中一些资源以获取更多背景信息:

答案 1 :(得分:7)

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

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

MSDN

了解详情