Не могу открыть сервисную ошибку - PullRequest
0 голосов
/ 06 февраля 2012

Я написал службу Windows. Я пытаюсь запустить службу из моего веб-приложения.

ServiceController svcContrl = new ServiceController("TestService");
svcContrl.Start();

Службу я вижу в «Мой компьютер» -> «Управление» -> «Служба». Если я запускаю службу оттуда вручную, она работает нормально. Но когда я пытаюсь запустить код, я получаю исключение «Не удается открыть службу TestService на [ComputerName]».

Я дал доступ пользователю aspnet, пользователю входа в Windows для обслуживания, папки bin / debug все еще получают это исключение при запуске кода. Я что-то упустил, что вызывает это исключение?

Ответы [ 2 ]

1 голос
/ 07 февраля 2012

Я получил решение.Я использую Windows 2008 R2 IIS 6.1.По умолчанию подключается как Сетевой сервис.Поэтому мне нужно было изменить основные настройки моего виртуального каталога и настроить его для подключения в качестве учетных данных для входа в систему моего компьютера.Спасибо всем и особенно Крису.

1 голос
/ 07 февраля 2012

Исключение InvalidOperationException может возникать, когда служба не обнаружена или если внутри самой службы имеется ошибка, препятствующая ее запуску.

Учитывая, что вы сказали, что можете запустить службу напрямую через приложение MMCможет показаться, что вы неправильно указали название службы в своем коде.

Попробуйте выполнить следующее: http://msdn.microsoft.com/en-us/library/yb9w7ytd.aspx, чтобы узнать, можно ли запустить / остановить службу и т. д.

Этот код (http://msdn.microsoft.com/en-us/library/hyd7kz8c(v=vs.90).aspx) показывает, как получить список служб в системе. Может быть полезным для определения фактического имени службы.

И вот пример приложения, которое запускает / останавливает службы: http://www.codeproject.com/Articles/31688/Using-the-ServiceController-in-C-to-stop-and-start

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...