【发布时间】:2014-06-05 09:30:47
【问题描述】:
我有一个在OnStart(string[] args) 上触发线程的 Windows 服务。该主线程还创建了其他线程。安装并启动服务后,当我尝试停止服务时,我无法在第一次尝试时停止服务。当我右键单击我的服务并请求“停止”时。我得到以下异常并且服务仍在运行。
Windows 无法停止本地计算机上的服务。服务没有返回错误。这可能是内部 Windows 错误或内部服务错误。 如果问题仍然存在,请联系您的系统管理员。
当我再次尝试停止它时,我最终会收到其他消息
Windows 无法停止本地计算机上的服务。
错误 1061:服务目前无法接受控制消息。
但服务已停止。所以我正在执行右键单击->停止,两次停止服务。
我尝试如下中止线程并停止服务,但没有任何收获。
protected override void OnStop()
{
onStartThread.Abort();
Log.AuditEventLogger("Service Stopped");
this.Stop();
}
我非常感谢任何建议。谢谢。
【问题讨论】:
-
出于兴趣,你如何开始你的话题?是后台线程吗?如果没有,您可能需要制作一个 - msdn.microsoft.com/en-us/library/…
-
看看这个问题是否对你有帮助:stackoverflow.com/questions/4885080/…
-
受保护的覆盖 void OnStart(string[] args) { onStartThread = new Thread(() => DataFeedScheduler.Start()); onStartThread.Priority = ThreadPriority.Normal; onStartThread.Start();}
标签: c# multithreading windows-services