Sobes.tech
Junior — Middle

Jak lze dále rozšířit funkčnost ovladače?

sobes.tech AI

Odpověď od AI

V C#, lze kontrolery (například v ASP.NET Core) rozšiřovat několika způsoby:

  • Dědičnost: vytvořte třídu, která dědí z základního kontroleru a přidává nebo přepisuje metody.
  • Filtry: použijte atributy filtrů (například ActionFilter, AuthorizationFilter) k přidání logiky před nebo po provedení akcí kontroleru.
  • Middleware: přidejte middleware, které zpracovává požadavky před tím, než dorazí k kontroleru.
  • Rozšiřující metody: přidejte rozšiřující metody pro kontroler nebo jeho základní třídu.
  • Injekce závislostí: připojte další služby, které rozšiřují funkčnost.

Příklad použití filtru:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Logika před provedením akce
        base.OnActionExecuting(context);
    }
}

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