Sobes.tech
Junior — Middle

Môžete vysvetliť, čo je to Action filter v kontexte vývoja webových aplikácií?

sobes.tech AI

Odpoveď od AI

Filtre akcie v webovom vývoji v C# (napríklad v ASP.NET MVC) je komponent, ktorý umožňuje vykonávať dodatočnú logiku pred alebo po vykonaní akcie kontroléra.

Hlavné funkcie filtrov akcie:

  • Spúšťanie kódu pred volaním metódy akcie (napríklad kontrola autorizácie, logovanie).
  • Spúšťanie kódu po vykonaní metódy akcie (napríklad úprava výsledku, logovanie).
  • Možnosť prerušiť vykonanie akcie alebo zmeniť výsledok.

Príklad použitia:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Kód, ktorý sa spúšťa pred akciou
        Console.WriteLine("Začiatok vykonávania akcie");
    }

    public override void OnActionExecuted(ActionExecutedContext context)
    {
        // Kód, ktorý sa spúšťa po akcii
        Console.WriteLine("Akcia dokončená");
    }
}

[LogActionFilter]
public IActionResult Index()
{
    return View();
}

Týmto spôsobom filtry akcie pomáhajú začleniť priečnu logiku do spracovania požiadaviek.