Создайте службу Windows без использования таймера [duplicate]

Вы создаете объект ValidateFields где-нибудь?

Edit: вам нужно добавить этот всякий раз, когда ссылаются на общедоступные свойства функции.

Обновлен код здесь: http://jsbin.com/afiru/edit

29
задан bluish 11 May 2012 в 13:17
поделиться

8 ответов

Либо вы не начинаете нить в методе 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
}
38
ответ дан Robert Wagner 16 August 2018 в 04:08
поделиться
  • 1
    +1 многое помогло. Я хочу отметить (по крайней мере, для Windows 7), Event Viewer содержит журналы Windows (затем проверьте приложение). – But I'm Not A Wrapper Class 22 January 2015 в 20:25
  • 2
    спасибо за помощь, некоторые ошибки мои услуги. я нашел журнал событий Windows – asraful009 12 February 2015 в 06:34

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

-4
ответ дан AxelEckenberger 16 August 2018 в 04:08
поделиться
  • 1
    Чтобы помочь другим пользователям добавить дополнительную настройку настроек , которые вы изменили. – AxelEckenberger 29 June 2011 в 15:54
  • 2
    общие Ullas рассказывают мне о том, какие настройки вы изменили, это очень полезно для многих людей – nag 27 June 2012 в 06:00
  • 3
    Это бесполезный ответ w / out, зная, какие настройки конфигурации приложения вы изменили. – Dr. C. Hilarius 2 July 2014 в 23:04

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

6
ответ дан bluish 16 August 2018 в 04:08
поделиться
  • 1
    idk, почему вы получаете downvoted. Сегодня этот комментарий помог мне! Спасибо Мохиндер – Jhonatas Kleinkauff 21 July 2016 в 00:41
  • 2
    Это тоже помогло мне думать – Beldi Anouar 8 August 2018 в 08:34

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

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

0
ответ дан Community 16 August 2018 в 04:08
поделиться

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

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

3
ответ дан Ken Goodridge 16 August 2018 в 04:08
поделиться

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

3
ответ дан Mike_G 16 August 2018 в 04:08
поделиться
6
ответ дан bluish 6 September 2018 в 02:53
поделиться
6
ответ дан bluish 29 October 2018 в 09:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: