Junior — Middle
Cum se poate extinde în mod suplimentar funcționalitatea controlerului?
sobes.tech AI
Răspuns de la AI
În C#, controlerele (de exemplu, în ASP.NET Core) pot fi extinse în mai multe moduri:
- Moștenire: creați o clasă care moștenește de la controlerul de bază și adaugă sau suprascrie metode.
- Filtre: utilizați atribute de filtre (de exemplu,
ActionFilter,AuthorizationFilter) pentru a adăuga logică înainte sau după executarea acțiunilor controlerului. - Middleware: adăugați middleware care procesează cererile înainte de a ajunge la controler.
- Metode de extensie: adăugați metode de extensie pentru controler sau pentru clasa sa de bază.
- Injectarea dependențelor: conectați servicii suplimentare care extind funcționalitatea.
Exemplu de utilizare a unui filtru:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Logica înainte de executarea acțiunii
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}