服务不响应在Windows Server 2008 r2上使用服务控制器的c#程序

时间:2011-03-02 20:06:14

标签: c# windows windows-services windows-server-2008

我有一个C#程序,它充当我创建的Windows服务的GUI。可以根据GUI中的按钮按下停止或启动服务...开始按钮按下事件将调用下面的功能。在我的常规电脑上,此代码工作正常。但是,当我将此GUI应用程序放在我的服务器上时,它不会启动或停止服务。是否有我缺少的东西或服务器服务与常规PC服务有不同的过程。我正在使用Windows Server 2008 R2和Vista Business ...提前致谢。

  public static bool StartService(string serviceName, int timeoutMilliseconds)
    {
        ServiceController service = new ServiceController(serviceName);
        try
        {
            TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);

            service.Start();
            service.WaitForStatus(ServiceControllerStatus.Running, timeout);
            if (service.Status == ServiceControllerStatus.Running)
                return true;
            else
                return false;



        }
        catch
        {
            // ...
            return false;
        }
    }

1 个答案:

答案 0 :(得分:0)

两件事:

首先,确保您的try / catch块正在记录(或以其他方式通知您)所引发的任何异常。另请检查服务器事件日志中的错误。

其次,检查在服务器上运行程序的帐户的权限。该帐户可能没有足够的权限来停止和启动您的PC上的帐户。