Служба Windows запускается, а затем останавливается при установке в папку отладки

У меня есть собственная служба WCF. Он размещается службой Windows. Я установил его с помощью installutil. Итак, в папке bin у меня есть две папки Debug и Release. Когда я устанавливаю службу Windows в папку выпуска, она запускается как обычно и размещает службу WCF, но когда я устанавливаю ее в папку отладки, она не запускается. Я получаю это сообщение об ошибке:

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

Кто-нибудь знает, как это исправить?


person Mr. Paul    schedule 25.01.2016    source источник


Ответы (1)


Произошло какое-то исключение. Проверить:

  1. Ваши журналы (если они у вас есть)
  2. Журнал событий
  3. Если вы можете подключить отладчик, попробуйте его. Лучше всего добавить диагностическую строку примера кода здесь: https://msdn.microsoft.com/en-us/library/cktt23yw.aspx
person Marcin Iwanowski    schedule 25.01.2016
comment
Не могли бы вы добавить эту строку кода в свою службу System.Diagnostics.Debugger.Launch(); ? Во время запуска отладчик подключится. - person Marcin Iwanowski; 25.01.2016
comment
Я могу ... но это не приводит к тормозным точкам или что мне делать? - person Mr. Paul; 26.01.2016
comment
Просто попробуйте сделать это :) Эта строка кода запустит отладчик (Visual Studio), и он остановит выполнение этой строки кода. Затем просмотрите код и проверьте, все ли выполняется так, как вы ожидали. Отладчик также остановится, если возникнет какое-либо исключение. - person Marcin Iwanowski; 26.01.2016
comment
Приложение находится в режиме приостановки. Ваше приложение находится в состоянии приостановки, но кода для отображения нет, так как все потоки выполняли внешний код. Я думаю, что у меня где-то есть необработанное исключение, но я не могу его найти. Есть идеи? - person Mr. Paul; 27.01.2016
comment
Когда вы получили это сообщение? Может быть, вам стоит добавить какой-нибудь try catch в метод OnStart? - person Marcin Iwanowski; 27.01.2016
comment
Когда я запускаю свою службу со строки System.Diagnostics.Debugger.Launch(); затем мне нужно выбрать, с какой версией Visual Studio я хочу скомпилировать. Затем я получаю это сообщение об ошибке. Кстати, я завернул все в свой метод OnStart в try and catch и позволил catch записать в txt-файл, но он не находит кроме :( - person Mr. Paul; 28.01.2016
comment
Измените метод Launch() на Break() и повторите попытку. - person Marcin Iwanowski; 29.01.2016
comment
Я настроил новую службу, и запуск теперь работает! Спасибо за вашу помощь :) - person Mr. Paul; 29.01.2016