相关疑难解决方法(0)

无法重新启动服务

我有这个代码重新启动服务,但这不起作用.

我可以单独启动和停止但不重启,这涉及到我首先停止并启动服务.

try
{
    //service.Stop();
    //service.Start();
    int millisec1 = Environment.TickCount;
    TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

    service.Stop();
    service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);

    // count the rest of the timeout
    int millisec2 = Environment.TickCount;
    timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds - (millisec2 - millisec1));

    service.Start();
    service.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
catch
{
    // ...
}
Run Code Online (Sandbox Code Playgroud)

它只是进入捕获部分.

我不知道我哪里错了.

有什么建议.??

更新:

所以我从下面的正确答案中得出了这个想法:

这是需要做的事情>

public static void RestartService(string serviceName, int timeoutMilliseconds)
{
    ServiceController service = new ServiceController(serviceName);

    int millisec1 = Environment.TickCount;
    TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
    if (!(service.Status.Equals(ServiceControllerStatus.Stopped) || service.Status.Equals(ServiceControllerStatus.StopPending)))
    {
        service.Stop();
        service.WaitForStatus(ServiceControllerStatus.Stopped, timeout);
    } …
Run Code Online (Sandbox Code Playgroud)

c# windows-services

0
推荐指数
1
解决办法
2661
查看次数

标签 统计

c# ×1

windows-services ×1