Я разработал систему плагина mvc, в которой плагины загружены на событие PreApplicationInit
. Конфигуратор плагинов имеет возможность отключить загрузку плагинов при следующем запуске. Почти все хорошо, за исключением того, что когда я пытаюсь перейти к отключенным плагинам. Контроллер/действие IIS сообщает мне, что ресурс не найден (и это нормально)Вызвать специальный контроллер вместо запроса
Все плагины и их состояния доступны через статические Dictionary<IPluginInfo, bool>
, где логическая переменная является состоянием плагина и который инициализируется в PreApplicationInit
.
Вопрос в том, могу ли я перенаправить на некоторую предопределенную страницу (контроллер/действие) в случае попытки адресовать контроллер/действие не загруженного плагина вместо того, чтобы получить страницу с ошибкой «ресурс не найден»?
Посмотрите на https://msdn.microsoft.com/en-us/library/bb397417%28v=vs.140%29 .aspx Можно определить обработчики ошибок. Также один для 404. Это должно работать. – Sascha
Хорошо! Это возможное решение. Но что делать, если я хочу показать пользовательскую страницу об отключенном плагине только для этих случаев? Для других 404 ошибок нормально показывать IIS 404 стр. –
. Вы можете использовать действие контроллера, которое возвращается в зависимости от конкретной проблемы. – Sascha