Junior — Middle
Comment peut-on étendre davantage la fonctionnalité du contrôleur?
sobes.tech IA
Réponse de l'IA
Dans C#, les contrôleurs (par exemple, dans ASP.NET Core) peuvent être étendus de plusieurs manières :
- Héritage : créer une classe qui hérite du contrôleur de base et ajoute ou redéfinit des méthodes.
- Filtres : utiliser des attributs de filtres (par exemple,
ActionFilter,AuthorizationFilter) pour ajouter une logique avant ou après l'exécution des actions du contrôleur. - Middleware : ajouter un middleware qui traite les requêtes avant qu'elles n'atteignent le contrôleur.
- Méthodes d'extension : ajouter des méthodes d'extension pour le contrôleur ou sa classe de base.
- Injection de dépendances : connecter des services supplémentaires qui étendent la fonctionnalité.
Exemple d'utilisation d'un filtre :
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Logique avant l'exécution de l'action
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}