Middleware
Contexte : Les composants middleware sont assemblés dans un pipeline pour traiter les requêtes et réponses. Commun dans ASP.NET Core.
public delegate Task RequestDelegate(HttpContext context);
public class MiddlewarePipeline{ private readonly List<Func<RequestDelegate, RequestDelegate>> _components = new();
public void Use(Func<RequestDelegate, RequestDelegate> middleware) { _components.Add(middleware); }
public RequestDelegate Build() { RequestDelegate app = context => Task.CompletedTask; for (int i = _components.Count - 1; i >= 0; i--) app = _components[i](app); return app; }}
// Example middlewareapp.Use(async (context, next) =>{ Console.WriteLine("Before"); await next(); Console.WriteLine("After");});Exemple d’utilisation dans le monde réel
Section intitulée « Exemple d’utilisation dans le monde réel »Pipeline de requêtes HTTP : ASP.NET Core utilise des middlewares pour l’authentification, la journalisation, les fichiers statiques, CORS, la gestion des exceptions et MVC. Chaque middleware peut court‑circuiter le pipeline ou passer au suivant.
Exemple : La documentation ASP.NET Core sur les middlewares présente les middlewares intégrés comme UseAuthentication, UseAuthorization, UseStaticFiles. Middleware personnalisé pour la journalisation des requêtes, la limitation de débit, ou l’ajout d’identifiants de corrélation.