Sobes.tech
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();
    }
}