Остановите ASP.NET MVC 2 REST svc изящно при ошибке - PullRequest
0 голосов
/ 06 мая 2011

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

TIA!

1 Ответ

1 голос
/ 06 мая 2011

Я бы поставил попытку / перехватить часть, которая может дать сбой, и в этой перехватке вы можете выгрузить домен приложения, как отмечено здесь , что приведет к повторному запуску следующего попадания Application_Start, или вы можете просто записать файл (или скопировать на место) с именем "app_offline.htm" в каталог IIS вашего приложения. Когда этот файл присутствует, IIS будет автоматически отображать эту страницу вместо вашего приложения, поэтому вы можете сделать статическое сообщение: «Извините, мы сейчас в автономном режиме. Попробуйте позже». страница для показа пользователям.

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

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