Windows services 处理超时或失败的服务依赖关系

Windows services 处理超时或失败的服务依赖关系,windows-services,Windows Services,我已经编写了一个windows服务,该服务覆盖ISenesLogon2的登录和注销方法,以便在发生登录和注销时签出,然后将日志信息插入服务器计算机上的sql server 但是,当我在服务器刚刚打开客户端计算机时,它就出现了问题 在这种情况下,我的服务无法插入sql server 我认为这是因为在winservice尝试访问sql server之前,sql server没有完全加载 因此,我想找到一种方法,以编程方式检查sql server是否准备就绪,然后尝试使用?您的服务无法启动,除非它的远

我已经编写了一个windows服务,该服务覆盖ISenesLogon2的登录和注销方法,以便在发生登录和注销时签出,然后将日志信息插入服务器计算机上的sql server

但是,当我在服务器刚刚打开客户端计算机时,它就出现了问题

在这种情况下,我的服务无法插入sql server

我认为这是因为在winservice尝试访问sql server之前,sql server没有完全加载


因此,我想找到一种方法,以编程方式检查sql server是否准备就绪,然后尝试使用?

您的服务无法启动,除非它的远程依赖项或其他依赖项也已启动。检查SQL Server很容易,请尝试连接到它,然后重试,直到成功

唯一的问题是服务在启动时有超时,你们不能坐着无限期地重复这个过程

不能在合理时间内可靠启动的事情不应该是服务,或者应该尽快失败。否则,您的服务超时将导致大量支持请求


服务通常也不会与用户交互,因此故障更严重,因为除非您使用托盘图标,否则无法直接告诉用户您的服务未启动。

Thanx,所以您的意思是使用windows服务保存用户日志不是一个好主意?您选择哪种方式?您可以使用服务,但如果后端关闭,您应该有一个策略,将日志消息排队,直到其备份。否则,由于尝试与SQL server对话超时,您的服务将不会响应。