我想在VB.NET中开发一个Windows服务来监视在不同服务器上运行的不同SQL数据库。
用户将为每个数据库输入/定义连接字符串。 他/她也将定义连接间隔。
例如,数据库A需要每5分钟检查一次,数据库B需要每24小时检查一次。
这个项目的最佳方法是什么?
感谢。
答案 0 :(得分:1)
具有while循环的Windows服务应该足够了。
While (m_serviceIsStopping = False)
For Each _server In _serverList
If ServerNeedsToBeChecked(_server) Then
CheckServer(_server)
End If
Next
Thread.Sleep(100)
End While
线程休眠对于确保CPU不会用完很重要。
虽然有些人可能会建议这样做,但不要在服务中使用定时器类。他们默默地失败了。
另外,我之前已经写过这种东西,如果你正在检查“up”或阻止状态,那就是很长的间隔。像每分钟左右的事情可能是一个更好的指标。