Sobes.tech
Junior — Middle

Auf welche Weise kann die Funktionalität des Controllers zusätzlich erweitert werden?

sobes.tech KI

Antwort von AI

In C# können Controller (z.B. in ASP.NET Core) auf mehrere Arten erweitert werden:

  • Vererbung: Erstellen Sie eine Klasse, die vom Basiskontroller erbt und Methoden hinzufügt oder überschreibt.
  • Filter: Verwenden Sie Filterattribute (z.B. ActionFilter, AuthorizationFilter), um Logik vor oder nach der Ausführung von Controller-Aktionen hinzuzufügen.
  • Middleware: Fügen Sie Middleware hinzu, die Anfragen verarbeitet, bevor sie den Controller erreichen.
  • Erweiterungsmethoden: Fügen Sie Erweiterungsmethoden für den Controller oder seine Basisklasse hinzu.
  • Dependency Injection: Binden Sie zusätzliche Dienste ein, die die Funktionalität erweitern.

Beispiel für die Verwendung eines Filters:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Logik vor der Ausführung der Aktion
        base.OnActionExecuting(context);
    }
}

[LogActionFilter]
public class MyController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}