2015-03-24 2 views
0

Я разработал систему плагина mvc, в которой плагины загружены на событие PreApplicationInit. Конфигуратор плагинов имеет возможность отключить загрузку плагинов при следующем запуске. Почти все хорошо, за исключением того, что когда я пытаюсь перейти к отключенным плагинам. Контроллер/действие IIS сообщает мне, что ресурс не найден (и это нормально)Вызвать специальный контроллер вместо запроса

Все плагины и их состояния доступны через статические Dictionary<IPluginInfo, bool>, где логическая переменная является состоянием плагина и который инициализируется в PreApplicationInit.

Вопрос в том, могу ли я перенаправить на некоторую предопределенную страницу (контроллер/действие) в случае попытки адресовать контроллер/действие не загруженного плагина вместо того, чтобы получить страницу с ошибкой «ресурс не найден»?

+0

Посмотрите на https://msdn.microsoft.com/en-us/library/bb397417%28v=vs.140%29 .aspx Можно определить обработчики ошибок. Также один для 404. Это должно работать. – Sascha

+0

Хорошо! Это возможное решение. Но что делать, если я хочу показать пользовательскую страницу об отключенном плагине только для этих случаев? Для других 404 ошибок нормально показывать IIS 404 стр. –

+0

. Вы можете использовать действие контроллера, которое возвращается в зависимости от конкретной проблемы. – Sascha

ответ

0

Вы можете настроить страницу ошибок 404 в файле web.config. URL-адрес может быть путем к другому контроллеру, поэтому вы можете решить, что делать в методе действий

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