Sobes.tech
Junior — Middle

¿Puede dar un ejemplo de uso de una capa intermedia para estimar la duración del procesamiento de cada solicitud?

sobes.tech AI

Respuesta de la IA

La capa intermedia (middleware) para evaluar la duración del procesamiento de la solicitud a menudo se implementa mediante la interceptación de llamadas y la medición del tiempo antes y después del procesamiento.

Ejemplo en C# usando middleware de 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); // pasa el control al siguiente componente

        stopwatch.Stop();
        var elapsedMs = stopwatch.ElapsedMilliseconds;

        Console.WriteLine($"Request [{context.Request.Method}] {context.Request.Path} took {elapsedMs} ms.");
    }
}

// En Startup.cs o Program.cs agregamos el middleware:
// app.UseMiddleware<RequestTimingMiddleware>();

Esta capa intermedia mide el tiempo de procesamiento de cada solicitud HTTP y muestra el resultado en la consola. Este enfoque ayuda a monitorear el rendimiento y a identificar cuellos de botella.