我正在创建一个应用程序,遇到了一个问题。我试图通过我的C#应用程序启动一个Windows服务。当我点击开始按钮时,看起来一切都正常进行,但当我登录服务器时,服务仍然没有运行。然而,第二次运行它时,我会得到一个异常,表示服务的实例已经在运行。再次登录服务器时,服务似乎已经停止。有人见过这种情况吗?
这是我的代码。
try
{
while (reader.Read())
{
int timeoutMilliseconds = 1000;
string serviceName = reader["ServiceName"].ToString();
string permission = reader["Permission"].ToString();
if (permission == "E")
{
lblServStartSuccess.Visible = true;
ServiceController service = new ServiceController(serviceName);
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
else
{
lblServErrorStart.Visible = true;
}
}
}
catch (Exception ex)
{
Response.Write(ex.ToString());
}
编辑:以下是我在一个服务上收到的异常:
System.InvalidOperationException:计算机“。”上未找到服务“逻辑磁盘管理器管理服务”。 ---> System.ComponentModel.Win32Exception:指定的服务不作为已安装的服务存在--- 内部异常堆栈的末尾
我知道该服务存在。我需要在服务名称前添加什么来告诉它要查找哪台服务器吗?