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