首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >WCF -让客户端检查服务可用性

WCF -让客户端检查服务可用性
EN

Stack Overflow用户
提问于 2009-08-05 16:47:46
回答 1查看 18.1K关注 0票数 11

我有一个客户端-服务器系统,两端都是我编写的,我想在服务器断开连接/死机时将客户端置于“离线”状态,然后在服务器再次可用时自动将它们恢复为“在线”。

对于第一部分,我将侦听通道故障事件,并通过将客户端设置为离线来处理它。然后,我开始调用服务器上的“ping”服务(每隔30秒)。如果它还活着,它只会返回一个布尔值。一旦它处于活动状态,客户端就会获得bool并切换回在线状态。

这一切都正常,我遇到的问题是,当客户端调用ping服务而服务器关闭时,不会发送任何响应(显然),最终,大约2分钟后,我得到了一个端点找不到异常。到目前为止,我已经尝试了3-4次ping,因此有3-4次异常正在酝酿中。

我的问题是,如何更优雅地处理ping服务?理想情况下,我希望定期调用一个服务,让我知道它是否在线,如果它不在线,立即让我知道。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-08-05 18:09:30

这样如何:

  • 如果您检测到服务器断开连接,进入" Ping“模式
  • 在"ping模式”中,您将客户端的"sendTimeout“设置为非常短的值,例如2秒左右,由于您对服务的Ping方法的调用应该得到响应,因此您的"Ping”成功工作了,您再次重新创建客户端代理,并将客户端的"sendTimeout“设置回原始值(默认值为1分钟-取决于对您有意义的值,15秒,30秒-随便如何)

这样,如果您处于"Ping模式“,您可以快速获得响应(或超时),并且可以快速检测服务的可用性。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1234427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档