我做了一个Window服务并让它自动工作并在localsystem帐户下,当服务启动时它会为我激发此消息然后停止
本地计算机上的[服务名称]服务已启动,然后停止.如果某些服务未被其他服务或程序使用,则会自动停止.
问题是什么,解决方案是什么?
您没有在OnStart方法上启动任何线程来执行工作,或者在OnStart方法中引发了异常.
如果抛出异常,它将出现在Windows事件日志中.无论如何,Windows事件日志都是一个很好的起点.
通常,OnStart方法如下所示:
Thread _thread; protected override void OnStart(string[] args) { // Comment in to debug // Debugger.Break() // Do initial setup and initialization Setup(); // Kick off a thread to do work _thread = new Thread(new MyClass().MyMethod) _thread.Start(); // Exit this method to indicate the service has started }
这个特殊的错误信息意味着它所说的 - 你的服务已经开始,但很快就会因某种原因而退出.好消息是您的服务实际上正在执行某些操作,因此您可以配置可执行文件并作为服务正常运行.
一旦启动,由于某种原因它就会退出.你需要找出原因.添加一些调试来告诉您它的启动和运行以及已知的退出情况.如果这没有显示问题,那么添加一些调试,让你知道它仍在运行,并从停止时向后工作.