2009-02-11 4 views
27

Я сделал службу окна и дайте ему работать в автоматическом режиме и под Localsystem счета, при запуске службы он запускает это сообщение для меня, а затем останавливаетсяслужба Windows, автоматически останавливается

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

В чем проблема и какое решение?

+1

эта ошибка возникает при использовании службы Java, когда политика Java не разрешает соответствующие разрешения, такие как «policy.all». – djangofan

+0

@djangofan Ваш совет кажется полезным, пожалуйста, разместите его как ответ. – bluish

+0

Сделайте вашу службу Windows «отлаживаемой» http://stackoverflow.com/a/15075454/413032 –

ответ

36

Либо вы не начинаете нить в методе OnStart для выполнения работы, либо возникает исключение, созданное в вашем методе OnStart.

Если возникло исключение, оно появится в журнале событий Windows. Журнал событий Windows - это хорошее место для запуска в любом случае.

Обычно используют OnStart метод выглядит следующим образом:

Thread _thread; 

protected override void OnStart(string[] args) 
{ 
    // Comment in to debug 
    // Debugger.Break() 

    // Do initial setup and initialization 
    Setup(); 

    // Kick off a thread to do work 
    _thread = new Thread(new MyClass().MyMethod) 
    _thread.Start(); 

    // Exit this method to indicate the service has started 
} 
+1

+1 многое помогло. Я хочу отметить (по крайней мере, для Windows 7), [Средство просмотра событий] (http://windows.microsoft.com/en-us/windows/open-event-viewer#1TC=windows-7) содержит журналы Windows (затем проверьте приложение). –

+0

спасибо за помощь, некоторые ошибки мои услуги. i find Журнал событий Windows – asraful009

5

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

Как только началось, по какой-то причине он уходит. Вам нужно выяснить, почему это так. Добавьте некоторую отладку, чтобы рассказать вам о ее запуске и известных случаях выхода. Если это не выявило проблемы, добавьте некоторую отладку, чтобы вы знали, что она все еще работает и работает в обратном направлении с момента ее прекращения.

3

Вы отслеживаете любую отладочную информацию? Скорее всего, во время инициализации создается исключение. Я прослежу все ваши исключения и использую Debugview для их просмотра.

3

У меня была аналогичная проблема, которая произошла , потому что мои журналы событий были заполнены, и услуга не удалось на них написать. Таким образом, невозможно было отлаживать поиск сообщений в средстве просмотра событий. Я поставил try/catch и исключил исключение из файла. Я должен был изменить настройки в своих журналах, чтобы заполнить их по необходимости, а не каждые 7 дней, и это позволило начать запуск служб.

Конечно, корень проблемы для меня в том, что у меня проблема с драйвером nVidia, которая наводняет мои журналы событий, и теперь я, вероятно, избиваю диск, но это еще одна проблема.

-4

Для меня такая же проблема возникла из-за неправильной настройки в моем файле app.config. Я изменил настройку, и проблема была решена.

+7

Чтобы помочь другим пользователям, пожалуйста, добавьте изменения **, которые ** вы изменили. – AxelEckenberger

+1

Общие Ullas рассказывают мне, какие настройки вы изменили, это очень полезно для стольких людей. – nag

+0

Это бесполезный ответ, зная, какая настройка конфигурации приложения вы изменили. –

1

У меня была такая же проблема, начиная с JBoss, затем я изменил переменную JAVA_HOME, она сработала для меня. Это была версия JBoss, которая не поддерживает 1.6, она поддерживает 1.5.

0

Возможно, вам необходимо воспользоваться услугой как Локальная системная учетная запись. См. this post by Srinivas Ganaparthi.

+0

idk, почему вы получаете downvoted. Сегодня этот комментарий помог мне! Спасибо Мохиндер –

0

У меня была схожая проблема, и в моем случае оказалось, что программа просто разбилась в методе OnStart. Он попытался прочитать файл, который он не смог найти, но я полагаю, что любой другой сбой программы даст тот же результат.В случае приложения Windows Form вы получите сообщение об ошибке, но здесь это просто «ваш сервис запущен и остановлен».

Если вам когда-нибудь понадобится, например, прочитать некоторые файлы из каталога, в котором находится служба Windows .exe, проверьте эту тему: Getting full path for Windows Service

Смежные вопросы