停止Windows服务时出错

Asd*_*dfg 10 c# windows-services

我正在开发Windows服务.它工作正常.当我试图停止服务时services.msc,它会抛出以下错误:

Windows无法在本地计算机上停止xxx服务.该服务未返回错误.这可能是内部Windows错误或内部服务错误.如果问题仍然存在,请与系统管理员联系.

如果我再次尝试停止它,则需要花费大量时间然后抛出错误,如下所示:

Windows无法在本地计算机上停止xxx服务.错误1061:此时服务无法接受控制消息.

此时,服务已停止.但是,如果我尝试重新安装该服务,它会抛出另一个错误:

Windows无法在本地计算机上停止xxx服务.
错误1001:指定的服务被标记为删除.

关闭后services.msc,它让我重新安装服务,然后事情开始正常工作.

OnStop(),我正在做一些冗长的操作,需要时间来完成.

知道如何让整个事情顺利进行吗?

- 编辑 -

这是我的OnStop方法的样子:

protected override void OnStop()
{
    base.OnStop();
    //Some lengthy operation      
}
Run Code Online (Sandbox Code Playgroud)

Har*_*run 14

Windows服务在onstart和onstop事件中具有默认超时.通常,如果您在任何这些事件中执行耗时的操作,请启动一个新线程并让操作在后台执行.

通常,Windows服务中的OnStart和OnStop事件用于启动进程,耗时的进程将在子线程中执行它的执行.

希望这能解决你的问题..