Junior — Middle
Hoe kan de functionaliteit van de controller verder worden uitgebreid?
sobes.tech AI
Antwoord van AI
In C# kunnen controllers (bijvoorbeeld in ASP.NET Core) op verschillende manieren worden uitgebreid:
- Erfelijkheid: maak een klasse die erft van de basiscontroller en voeg methoden toe of overschrijf ze.
- Filters: gebruik filterattributen (bijvoorbeeld
ActionFilter,AuthorizationFilter) om logica toe te voegen vóór of na de uitvoering van controller-acties. - Middleware: voeg middleware toe die verzoeken verwerkt voordat ze bij de controller komen.
- Extension Methods: voeg extensiemethoden toe voor de controller of zijn basisklasse.
- Dependency Injection: koppel extra services die functionaliteit uitbreiden.
Voorbeeld van het gebruik van een filter:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Logica vóór het uitvoeren van de actie
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}