我们目前正在开发一个软件解决方案,其中包含一个客户端和一些WCF服务。我们遇到的问题是WCF服务在闲置一段时间后超时。据我了解,有2种方法来解决此问题:WCF超时处理
- 增加超时(据我了解,这是一般不建议如设置超时为无穷/周被认为是不好的做法。)
- 定期从客户端ping WCF服务(我不确定我是否是他的粉丝,因为它会添加多余的定期呼叫)
- 处理超时问题并尝试重新连接(这很慢并且需要一个很多手动代码)
- 可靠的会话 - 一些消息来源提到这是内置的WCF ping和消息可靠性机制,但其他来源提到这仍然会超时。
解决此问题的建议/最佳方法是什么?有没有关于这方面的官方阅读材料?我自己找不到那么多信息
谢谢!
这听起来似乎是对的,我猜测。感谢您分享你的观点:)你有很多WCF的经验吗?你最终实现了类似的模式吗? – Ross
@Ross是的,我们在wcf中编写了一个动态双工服务,作为几个室内项目的基础。我的回答反映了我过去3年在wcf的所有经历。我们实现了第3点和第4点,但可靠会话并不像他们应该那样可靠;)因此,我们实现了Ping,因此,所有的运行都是完美的。 – Rabban
很高兴听到!非常感谢分享你的经验:) – Ross