我有一个服务的诊断版本,尽可能在OnStart()和OnStop()方法中记录日志。如何记录Windows服务因系统关闭而终止?
我无法捕获的一个事件是计算机在物理上重新启动时。我的日志记录功能通常将其输出记录到数据库中的表中,但是当它不可用时,它会发送到EventLog。
在重新启动时,我的服务既不记录到表格也不记录到EventLog。
由于SQL Server正处于关闭过程中,所以我无法发布到表中,这对我来说很有意义,但它似乎也是由于计时问题,EventLog可能也会在服务可以默认写在那里。
在停机的情况下,MSSQLSERVER在事件日志报告的信息消息:
SQL Server正在因为系统关闭的终止。这仅是一条信息性消息。无需用户操作。
有没有办法为我的服务做类似的事情?
感谢大卫 - 这是我使用的解决方案。起初我希望以编程方式设置依赖关系,但是如果出现可能的权限问题,我认为唯一可行的方法是使用安装程序代码。尽管通过创建一个可以运行的.reg文件,我的确减轻了部署的复杂性。那谢谢啦! – davecoulter 2010-02-24 18:56:24