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();
}
}