Встречается на собеседованиях • сегодня

Что такое Action Filter

Action Filter — это атрибут в ASP.NET (Core/MVC), который позволяет выполнять код до или после выполнения метода контроллера или результата действия. Он используется для перехвата запросов, добавления логики (например, авторизации, кэширования, логирования) без дублирования кода.

Типы фильтров:

  • Authorization — проверка прав доступа ([Authorize]).
  • Action — логика до/после вызова метода (OnActionExecuting, OnActionExecuted).
  • Result — обработка результата (OnResultExecuting, OnResultExecuted).
  • Exception — перехват ошибок (IExceptionFilter).

Пример:

csharp
public class LogActionFilter : Attribute, IActionFilter
{
    public void OnActionExecuting(ActionExecutingContext context)
    {
        Console.WriteLine($"До действия: {context.ActionDescriptor.DisplayName}");
    }

    public void OnActionExecuted(ActionExecutedContext context)
    {
        Console.WriteLine($"После действия: {context.ActionDescriptor.DisplayName}");
    }
}

// Применение:
[LogActionFilter]
public class HomeController : Controller { ... }
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы