В прошлом году я писал о библиотеке FluentsFlters, посредством которой можно реализовать функциональность глобальных фильтров в ASP.NET MVC 2 приложении. С выходом ASP.NET MVC 3, командой разработчиков ASP.NET MVC была добавлена поддержка глобальных фильтров. Единственное чего не хватало, так это возможности определить условия для выполнения фильтра при регистрации.
Вооружившись Visual Studio 2010 я принялся переписывать библиотеку FluentFilters для интеграции с ASP.NET MVC 3, в последствии было выкошено много кода и переписано в соответствии с новой инфраструктурой работы с фильтрами в ASP.NET MVC 3, что позволяет начать использовать библиотеку при минимальных изменениях приложения. Ниже я опишу как нужно сконфигурировать приложение для работы с библиотекой и то как использовать критерии для регистрируемых фильтров. Также документацию можно найти на странице проекта на сайте CodePlex (на англ).
Читать больше »
Этим постом я расскажу, как можно отлавливать все исключения приложения и выводить для них различные страницы ошибок, например отображать представление ~/Views/Shared/Error.cshtml, которое используется для отображения необработанных в контроллерах исключений атрибутом HandleErrorAttribute.
Как-то в одном проекте, который писался на ASP.NET MVC 2, понадобилось реализовать средство для регистрации фильтров для всех контролеров в приложении, т.к. указывать атрибуты для каждого класса контроллера не совсем удобно если нужно выполнять одно и то же действие глобально, да и гибкости как таковой нет. Немного посёрфив я нашёл упоминание об этом только в roadmap для ASP.NET MVC 3.