У меня возникла проблема с приложением, которое я создаю. Я пытаюсь запустить службу 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());
}
EDIT: Вот исключение, которое я получил по одной услуге:
System.InvalidOperationException: Служба логического диспетчера дискового управления не найдена на компьютере. '. ---> System.ComponentModel.Win32Exception: указанная служба не существует как установленная служба --- Конец внутренней трассировки стека исключений
Я знаю, что служба существует. Мне нужно добавить что-то перед службой, чтобы рассказать, на каком сервере посмотреть?