Sobes.tech
Junior — Middle

Kas saaksite anda näite vahekihist, et hinnata iga taotluse töötlemisaega?

sobes.tech AI

Vastus AI-lt

Vahekiht (middleware) mõõdab taotluse töötlemise kestust ning seda sageli teostatakse kutsungi pealt ja aja mõõtmisega enne ja pärast töötlemist.

Näide C#-is kasutades ASP.NET Core middleware:

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); // kontrolli edastamine järgmisele komponendile

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

        Console.WriteLine($"Päring [{context.Request.Method}] {context.Request.Path} kestis {elapsedMs} ms.");
    }
}

// Startup.cs või Program.cs lisage middleware:
// app.UseMiddleware<RequestTimingMiddleware>();

See vahekiht mõõdab iga HTTP-päringu töötlemisaega ning kuvab tulemuse konsoolis. See lähenemine aitab jälgida jõudlust ning tuvastada kitsaskohti.