我需要我的服务在启动过程中检查某些文件的存在和结构,如果不满足某些条件则退出/失败/停止。我读了这个帖子:Windows 服务失败的正确方法是什么? 但这无济于事。
我将 ServiceBase.ExitCode 属性设置为非零,然后调用 ServiceBase.Stop。但我得到 5 个事件日志条目。见下文:
Starting service. (I log this event via code)
Config.xml file not found. (I log this ERROR event via code)
Service stopped successfully. (SCM logs this message)
Service started successfully. (SCM logs this message)
Service cannot be started. The handle is invalid (SCM logs this message)
如您所见,除了最后两个条目外,一切正常。他们为什么在那里?如何在启动期间正确关闭服务?为什么 SCM 看不到服务已停止/失败?