Sobes.tech
Junior — Middle

Môžete uviesť príklad použitia medzičlánku na odhad doby spracovania každej požiadavky?

sobes.tech AI

Odpoveď od AI

Medzipamäť (middleware) na hodnotenie trvania spracovania požiadavky sa často implementuje zachytením volania a meraním času pred a po spracovaní.

Príklad v C# s použitím 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); // prenáša riadenie na ďalší komponent

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

        Console.WriteLine($"Žiadosť [{context.Request.Method}] {context.Request.Path} trvala {elapsedMs} ms.");
    }
}

// V Startup.cs alebo Program.cs pridajte middleware:
// app.UseMiddleware<RequestTimingMiddleware>();

Tento medzičlánok meria čas spracovania každej HTTP požiadavky a zobrazuje výsledok v konzole. Tento prístup pomáha sledovať výkon a identifikovať úzke miesta.