我有一个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;
}
}
答案 0 :(得分:0)
两件事:
首先,确保您的try / catch块正在记录(或以其他方式通知您)所引发的任何异常。另请检查服务器事件日志中的错误。
其次,检查在服务器上运行程序的帐户的权限。该帐户可能没有足够的权限来停止和启动您的PC上的帐户。