Windows服务重新连接策略

本文关键字:策略 重新连接 服务 Windows | 更新日期: 2023-09-27 18:10:34

我目前正在做一个Windows服务(我的第一个),我想知道如何处理断开连接事件等。本质上,这个Windows服务轮询我们的Exchange服务器的新邮件。一旦收到电子邮件,我们解析它并将其插入数据库。现在,只要一切都对我有利,一切都能正常工作。由于这是不可能维护的,我需要寻找方法来确保我的服务保持在线,而不管可能发生的事情是我无法控制的(减去托管服务的服务器)。

我可以预见的主要问题是我们的Exchange服务器由于某种原因宕机或失去互联网连接。这两个问题一年可能会发生好几次。

目前,如果抛出关于连接问题的异常,我一直尝试每n分钟连接一次,超时时间为30秒。因此,假设我们的Exchange服务器宕机(计划维护或不可预见的事件)2小时,那么服务将每n分钟尝试重新连接一次,直到建立连接。

这是一个可持续的策略,以确保我的服务始终在线?如果不是,有什么更好的方法?

我想避免的是我的服务宕机,因为Exchange有问题,使我不得不手动重新启动我的Windows服务。

谢谢。

Windows服务重新连接策略

你的策略听起来好像是唯一可行的。

还值得考虑添加从服务远程查看事件日志的功能,这样您就可以诊断当前不知道的问题。如果你真的很偏执,第二个"观察者"服务可以用来定期检查主服务并报告它是否失败。