Проверка службы WCF при запуске - PullRequest
2 голосов
/ 25 января 2011

Есть служба WCF, размещенная в IIS, и я хочу убедиться, что параметры конфигурации действительны, например, каталог журналов существует или может быть создан. В случае сбоя конфигурации я хочу считать службу недействительной и уведомить об этом через журнал событий и т. Д. В идеале служба будет недоступна, если недействительна.

Если бы я работал в качестве службы Windows, я мог бы сделать это легко. Но размещены в IIS? Я не знаю, как сделать сервис недоступным из кода.

Есть идеи? Если это помогает, служба WCF работает в собственном пуле приложений.

ТИА! Джеймс

Ответы [ 3 ]

2 голосов
/ 26 января 2011

Другие постеры предлагали выбросить из конструктора вашего сервиса. Этот подход будет работать нормально, но потенциально лучший подход мог бы заключаться в реализации пользовательского ServiceHostFactory (http://msdn.microsoft.com/en-us/library/aa702697.aspx) и выполнении проверки в методе CreateServiceHost. Преимущество этого состоит в том, что ваша ошибка проверки станет частью «службы не удалось активировать "сообщение об ошибке и HTML-страницу.

2 голосов
/ 25 января 2011

Если вы выбросите исключение, услуга будет недоступна. Так что в конструкторе вашего сервиса сделайте ваши проверки, и если все идеально, и если его нет, выведите исключение, и сервис не будет там. Если удаленные ошибки отключены, просмотр службы покажет ошибку и трассировку стека.

0 голосов
/ 26 января 2011

В службе есть приватный метод test, который будет возвращать логическое значение false, если каталог loggigng не существует или не может быть создан и т. Д.

Вызовите этот метод тестирования из конструктора сервиса. Если метод возвращает false, отправьте четкую информацию о том, что служба не работает.

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