我们已经编写了一个作为Windows服务运行的应用程序。 在服务中,我们有一个计时器,每15秒触发一次并连接到ODBC数据源(例如MySql,SqlServer),处理查询和断开连接。 我们总是假设连接存在,并在代码中使用exception处理。
当与数据库的连接是零星的(即networking连接不好,或者数据库closures)时,我发现我们的服务有时会被任意点的Windowsclosures。
所以我的问题是:如果Windows检测到它不断发出失败请求并抛出exception,Windows是否有某种停止服务的机制? (在我们的例子中,连接数据库的尝试失败)。 几乎就好像在说:“好的 – 你每隔15秒就会发出一次这样的请求,而且这消耗的是资源,所以我会closures你的!
我们的服务总是试图build立联系,如果我们不能拥有
如果您的应用程序抛出未处理的exception,则Windows将“停止”该服务。