Cannot restart a Service

余生颓废 提交于 2019-11-29 17:41:11
Dirk Vollmar

Having an empty catch block catching all exceptions is rarely a good idea as serious problems easily slip through.

Modify your code to at least do some logging in the catch block, e.g.

catch (Exception ex)
{
    System.Diagnostics.Trace.WriteLine(ex.ToString());
}

You can then either attach a trace listener in the constructor of your service or use the DebugView tool from Sysinternals to read the trace message. If you want to take this a step further you might want to include a logging library like log4net into your project.

My guess would be that your are getting a TimeoutException because stopping the service takes longer as you expected. Have you tried increasing the timeout or waiting infinitely by removing the timeout parameter?

Update:

You probably need to check whether your service is started or not:

if  (!(service.Status.Equals(ServiceControllerStatus.Stopped) 
       || service.Status.Equals(ServiceControllerStatus.StopPending)))
{
    service.Stop();
}
service.Start();
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!