0

我有一个 WCF 多游戏服务。客户端连接到服务器并调用一些方法。如果一个客户端丢失连接,如何重新连接到服务器?是否有任何连接丢失事件?服务器如何恢复其会话并返回断开连接之前调用的方法调用的结果?谁能给我一些关于这个问题的帖子或文章。抱歉英语不好。感谢帮助

4

1 回答 1

0

好吧,为了处理此类问题,您可以而且应该做一些不同的事情。

首先,您可以启用Reliable Sessions。可靠会话基于 WS-ReliableMessageing 协议,可以帮助掩盖消息和传输中的某些故障。可靠会话中还定义了重试尝试和超时。

在客户端,有一个属性指示连接的状态(已创建、已连接、已故障),但在调用之后可能不会出现故障。这是检查的一种可能性。然后您可以转储您的客户端并重新创建对象以再次连接。您仍然需要执行 try catch 块并尝试在出现故障时重新创建您的客户端。

即使在断开连接后仍返回结果的另一个问题可以通过将服务ConcurrencyMode 设置为 ReentrantInstanceMode 作为 Single来解决。 这是一篇 CodePlex 文章,介绍了为什么要使用哪种组合

于 2012-11-06T16:40:37.847 回答