Junior — Middle
Kuidas saab täiendavalt laiendada kontrolleri funktsionaalsust?
sobes.tech AI
Vastus AI-lt
C#-s saab kontrollerid (näiteks ASP.NET Core'is) laiendada mitmel viisil:
- Pärimine: loo klass, mis pärib põhikontrollerist ja lisab või üle kirjutab meetodeid.
- Filtrid: kasuta filtrite atribuute (näiteks
ActionFilter,AuthorizationFilter), et lisada loogikat enne või pärast kontrolleri tegevuste täitmist. - Middleware: lisa vahekiht, mis töötleb päringuid enne, kui need jõuavad kontrollerini.
- Laiendamise meetodid: lisa laiendamise meetodid kontrollerile või selle põhiklassile.
- Sõltuvuste sisestamine: ühenda täiendavaid teenuseid, mis laiendavad funktsionaalsust.
Näide filtri kasutamisest:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Loogika enne tegevuse täitmist
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}