我们使用基于 WCF/HTTP 的应用程序将消息从客户端发送到服务器,并且需要一种快速的方法来检测服务器在处理消息时是否出现故障。理想情况下,我们需要在发送消息之前检测服务器是否已关闭。我正在研究使用可靠消息传递,因为这看起来在每个请求之前发送"你还在那里吗?但是,我找不到任何方法来检测我的代码中是否此初始检查失败 - 这可能吗?
我发现了几篇建议执行某种形式的"PING"以检测服务器是否仍然存在的文章,但如果可能的话,我宁愿使用可靠消息传递,因为这似乎是一个更干净的解决方案。
任何建议将不胜感激。
你还有消息吗?"对你没有帮助。
为什么?想想你写了这样的代码的情况
if(service is up)
{
//do operation
}
当您的控制达到操作线时,如果在那个特定的时间点服务中断怎么办。因此,检查服务是启动还是关闭是没有意义的,而是在服务关闭时执行某些操作。
try
{
//do operation
}
catch(Exception ex)
{
//what to do when service is down.
}