2011-01-25 2 views
2

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

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

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

TIA! James

ответ

2

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

+0

Это действительно так. Все еще пытаюсь понять, как обрабатывать сценарий на стороне клиента –

0

Есть частный метод в службе называется тест, который будет возвращать логическое значение FALSE, если либо loggigng каталог не существует или не может быть создан и т.д ..

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

2

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

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