Sobes.tech
Junior — Middle

Ako možno ďalej rozšíriť funkčnosť ovládača?

sobes.tech AI

Odpoveď od AI

V C#, je možné rozšíriť kontroléry (napríklad v ASP.NET Core) viacerými spôsobmi:

  • Dedičstvo: vytvorte triedu, ktorá dedí od základného kontroléra a pridáva alebo prepíše metódy.
  • Filtre: používajte atribúty filtrov (napríklad ActionFilter, AuthorizationFilter) na pridanie logiky pred alebo po vykonaní akcií kontroléra.
  • Middleware: pridajte middleware, ktoré spracováva požiadavky predtým, než dorazia ku kontroléru.
  • Rozširujúce metódy: pridajte rozširujúce metódy pre kontrolér alebo jeho základnú triedu.
  • Injektáž závislostí: pripojte ďalšie služby, ktoré rozširujú funkcionalitu.

Príklad použitia filtra:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Logika pred vykonaním akcie
        base.OnActionExecuting(context);
    }
}

[LogActionFilter]
public class MyController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}