Моя служба Windows не может создать экземпляр - PullRequest
0 голосов
/ 23 августа 2011

Я поддерживаю Службу Windows, в которой есть довольно прискорбная ошибка. Я больше не могу отлаживать код, потому что служба просто отказывается запускаться. Это ошибка:

Windows не удалось запустить службу MyService на локальном компьютере.

Ошибка 1053: служба не отвечает на запуск или управление запрос своевременно.

Я вставил несколько строк журнала в файл в метод main, и он никогда не выходит за пределы экземпляра моей службы Windows. Останавливается прямо перед линией

ServiceBase.Run(ServicesToRun);

Таким образом, метод Run никогда не выполняется. Я предполагаю, что это инстанцирование MyService, которое терпит неудачу. Но как это возможно?

static void Main()
{
        //this line is reached

        ServiceBase[] ServicesToRun;
        ServicesToRun = new ServiceBase[] 
        { 
            new MyService() //halts here
        };

        //this line is never executed
        ServiceBase.Run(ServicesToRun);
}

Ответы [ 2 ]

0 голосов
/ 23 августа 2011

оставил ответ сверху:

Да, я получил информацию в программе просмотра событий. Это было в основном необработанное исключение из-за того, что у меня был неправильный файл конфигурации. Предполагается, что служба Windows разбирает XML-файл при создании экземпляра, но отсутствует знак «>», что означает, что он даже не был действительным XML-файлом. Таким образом, урок должен состоять в том, чтобы иметь хорошую обработку ошибок в конструкторе службы Windows. Спасибо всем за помощь.

0 голосов
/ 23 августа 2011

У меня была эта ошибка только на днях.Я не знаю, решит ли это это для вас, но вот как я это исправил:

После установки щелкните правой кнопкой мыши и перейдите в Свойства.Перейдите на вкладку «Вход в систему» ​​и убедитесь, что «Разрешить сервису взаимодействовать с рабочим столом» включен.Я не уверен, почему Windows 7, кажется, требует этого.

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