У меня проблема с приложением, которое я создаю. Я пытаюсь запустить службу Windows через свое приложение C #. Когда я нажимаю кнопку запуска, похоже, что все проходит, но когда я вхожу на сервер, служба все еще не показывает, что она запущена. Однако при втором запуске я получаю исключение, в котором говорится, что экземпляр службы уже запущен. Опять же, когда я вхожу на сервер, кажется, что служба остановлена. Кто-нибудь видел такое?
Вот мой код.
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: Service Logical Disk Manager Административная служба не найдена на компьютере '.'. ---> System.ComponentModel.Win32Exception: указанная служба не существует как установленная служба --- Конец трассировки стека внутренних исключений
Я знаю, что служба существует. Нужно ли мне что-то добавить перед службой, чтобы указать, на какой сервер смотреть?