Junior — Middle
Pouvez-vous donner un exemple d'utilisation d'une couche intermédiaire pour estimer la durée de traitement de chaque requête?
sobes.tech IA
Réponse de l'IA
La couche intermédiaire (middleware) pour évaluer la durée du traitement d'une requête est souvent implémentée en interceptant l'appel et en mesurant le temps avant et après le traitement.
Exemple en C# utilisant le middleware ASP.NET Core :
public class RequestTimingMiddleware
{
private readonly RequestDelegate _next;
public RequestTimingMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task InvokeAsync(HttpContext context)
{
var stopwatch = Stopwatch.StartNew();
await _next(context); // transmet le contrôle au composant suivant
stopwatch.Stop();
var elapsedMs = stopwatch.ElapsedMilliseconds;
Console.WriteLine($"Request [{context.Request.Method}] {context.Request.Path} took {elapsedMs} ms.");
}
}
// Dans Startup.cs ou Program.cs, ajoutez le middleware :
// app.UseMiddleware<RequestTimingMiddleware>();
Ce middleware mesure le temps de traitement de chaque requête HTTP et affiche le résultat dans la console. Cette approche aide à surveiller la performance et à identifier les goulets d'étranglement.