我需要优雅地处理代码中的错误并停止服务。
protected override void OnStart(string[] args)
{
oMyObject = new MyObject(args);
if (oMyObject.RunStartup())
{
oThread = new Thread(new ThreadStart(oMyObject.MainLoop));
oThread.Start();
}
base.OnStart(args);
}
oMyObject.RunStartup() 将错误写入事件日志,如果错误则返回 false。
但是,该服务并未停止,并且事件日志显示“服务已成功启动”。
如何在没有显示“服务已成功启动”的事件日志的情况下退出并停止 OnStart() 中的服务?