Junior — Middle
Na koji način se može dodatno proširiti funkcionalnost kontrolera?
sobes.tech АИ
Одговор од АИ
U C#-u, kontroleri (na primer, u ASP.NET Core) mogu se proširiti na više načina:
- Nasleđivanje: kreirajte klasu koja nasleđuje osnovni kontroler i dodaje ili prepisuje metode.
- Filteri: koristite atributne filtere (npr.
ActionFilter,AuthorizationFilter) za dodavanje logike pre ili posle izvršavanja akcija kontrolera. - Middleware: dodajte middleware koji obrađuje zahteve pre nego što stignu do kontrolera.
- Metode proširenja: dodajte metode proširenja za kontroler ili njegovu osnovnu klasu.
- Ubacivanje zavisnosti: povežite dodatne servise koji proširuju funkcionalnost.
Primer korišćenja filtera:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Logika pre izvršavanja akcije
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}