Приложение ASP.NET MVC Методы контроллера разные:
При этом могут возникать два вида ошибок:
Не хотелось бы в коде контроллеров густо рассыпать try-catch, есть мысль ошибки валидации данных бросать исключениями, отлавливать их и системые ошибки в одном месте.
Возможно ли реализовать такое с помощью фильтров или как-то ещё?
Да, это можно сделать. Нужно реализовать интерфейс IExceptionFilter и полученный класс применить к нужным контроллерам. Вот ссылка на статью с примерами и описанием: Фильтры исключений
При необходимости можно применить фильтр глобально. Пример:
using System.Web.Mvc;
namespace WebApp2.Config
{
public class FilterConfig
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new RangeExceptionAttribute());
}
}
}
Этот код вызывается из Global.asax
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
// Другая инициализация.
}
}
Внутри обработчика OnException ты можешь проанализировать исключение и сделать необходимые действия. Если тебе нужно реализовать разную логику реакции на разные исключения, ты можешь добавить несколько фильтров.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть проблема с передачей данных из ajax запроса в экшен контроллера
Я делаю некое подобие игры на wpf, и мне интересно как можно сделать, чтоб другие программы определяли моё приложение как игру? Чтоб, например,...
Как мне убрать MouseButtonStatePressed с кнопки мышки програмно? Т