Программный запуск службы Windows

У меня проблема с приложением, которое я создаю. Я пытаюсь запустить службу 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: указанная служба не существует как установленная служба --- Конец трассировки стека внутренних исключений

Я знаю, что служба существует. Нужно ли мне что-то добавить перед службой, чтобы указать, на какой сервер смотреть?

51
задан Uwe Keim 22 November 2018 в 11:21
поделиться