首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ServiceController.Stop()无法停止服务

ServiceController.Stop()无法停止服务
EN

Stack Overflow用户
提问于 2011-01-27 07:59:40
回答 1查看 1.9K关注 0票数 1

我有一个windows服务,我试图用ServiceController.Stop()来阻止它

代码语言:javascript
复制
ServiceController sc = new ServiceController(<ServiceName>);                    
sc.Stop();
sc.Refresh();

但是,当我在“服务”列表中看到此服务时,它的状态仍然是“已启动”。如果我调用方法sc.WaitForStatus()等待状态更改为“停止”,则永远不会达到此状态。

出什么问题了?

EN

回答 1

Stack Overflow用户

发布于 2011-01-28 04:07:39

我认为问题在于遗留代码。

我们需要一些配置,要求是如果配置文件中缺少配置,则不应该启动服务。此验证是在OnStart()中完成的。当验证失败时,就从OnStart()方法本身调用该OnStart()!我认为这就是为什么ServiceController.Stop()无法停止服务的原因,我从未在WaitForStatus()方法调用中获得“停止”状态。

我更改了逻辑,现在不调用ServiceBase.Run()方法(如果缺少必要的配置就调用OnStart())。

遗留代码试图阻止服务从其开始方法!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4813948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档