如果我的OnStart方法是

while (true)
{
  // do stuff
}


OnStop是否可以在这种情况下运行?还是我必须创建一个新线程,以使线程OnStart在不受阻碍的情况下运行?

最佳答案

调用OnStart的线程不属于您。您无意阻止它。您应该使用它来设置任何线程,任何计时器,网络上的所有侦听器等,然后从OnStart方法返回。

仅当您从OnStart返回时,服务控制管理器才会将您的服务从Starting转换为Started

关于c# - 在Windows服务中,如果OnStart被阻止,OnStop会运行吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22299354/

10-13 06:54