Junior — Middle
Kaip galima papildomai išplėsti valdiklio funkcionalumą?
sobes.tech AI
Atsakymas iš AI
C# kalboje kontroleriai (pavyzdžiui, ASP.NET Core) gali būti išplėsti keliais būdais:
- Paveldėjimas: sukurkite klasę, kuri paveldi iš pagrindinio kontrolerio ir prideda arba perrašo metodus.
- Filtrai: naudokite filtrų atributus (pvz.,
ActionFilter,AuthorizationFilter), kad pridėtumėte logiką prieš arba po kontrolerio veiksmų vykdymo. - Tarpinis programinės įrangos sluoksnis (Middleware): pridėkite tarpinį programinės įrangos sluoksnį, kuris apdoroja užklausas prieš pasiekiant kontrolerį.
- Plėtros metodai: pridėkite plėtros metodus kontroleriui arba jo pagrindiniam klasės.
- Priklausomybių injekcija: prijunkite papildomas paslaugas, kurios išplečia funkcionalumą.
Filtrų naudojimo pavyzdys:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Logika prieš veiksmo vykdymą
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}