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