5

我在主机应用程序中创建了一个对象,并且可以使用远程处理远程访问它,有什么方法可以测试连接以确保它仍然“活动”?如果远程连接断开连接,或者某些属性可以告诉我远程连接的状态,我可以使用它触发的事件。有这样的东西吗?

4

2 回答 2

9

我通常在远程服务器 MarshallByRef 类中添加另一种方法,(我通常将其命名为 Ping(),如下所示:

 public void Ping() {} 

什么都不做,什么也不返回。然后为了“测试”我的连接,我调用这个方法......如果它抛出 System.Net.Sockets.Exception,我已经失去了连接......

于 2008-11-13T17:18:31.867 回答
5

检查连接有什么好处?即使您 ping 它,也不意味着在下一刻您进行远程调用时连接仍然存在。

只需尝试/接听您的远程呼叫,您就会知道。

这种类型的检查是没有意义的(网络连接、文件锁定等)。因为您检查的事物的状态可以在检查后立即更改。您只需托盘,如果失败则清理/重试。

于 2008-11-13T18:34:18.267 回答