Назад к вопросам
Junior — Middle
61
Какие типы Action фильтров ты можешь назвать и как они используются?
Ответ от нейросети
sobes.tech AI
В ASP.NET MVC и ASP.NET Core существуют несколько типов Action фильтров, которые позволяют выполнять код до и после выполнения действия контроллера:
- Authorization Filters — проверяют права доступа пользователя перед выполнением действия.
- Action Filters — выполняются до и после метода действия, позволяют изменить входные параметры или результат.
- Result Filters — выполняются до и после формирования результата действия (например, перед рендерингом представления).
- Exception Filters — обрабатывают исключения, возникшие в процессе выполнения действия.
Пример использования Action Filter для логирования времени выполнения действия:
public class LogActionFilter : ActionFilterAttribute
{
private Stopwatch stopwatch;
public override void OnActionExecuting(ActionExecutingContext context)
{
stopwatch = Stopwatch.StartNew();
}
public override void OnActionExecuted(ActionExecutedContext context)
{
stopwatch.Stop();
var elapsed = stopwatch.ElapsedMilliseconds;
// Логируем время выполнения
Console.WriteLine($"Action executed in {elapsed} ms");
}
}
// Применение фильтра к методу контроллера
[LogActionFilter]
public IActionResult Index()
{
// ...
}