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