Sobes.tech
Junior — Middle

შეგიძლიათ მიაწოდოთ მაგალითი შუამავლური ფენის გამოყენების შესახებ თითოეული მოთხოვნის დამუშავების ხანგრძლივობის შეფასებისთვის?

sobes.tech AI

პასუხი AI-სგან

მიმართვის ხანგრძლივობის შეფასებისთვის შუა ფენა (middleware) ხშირად ხორციელდება ზარის დაჭერისა და დროის გაზომვით სამუშაოს დაწყებისა და დასრულების წინ და შემდეგ.

მაგალითი C#-ში 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); // გადაეცით კონტროლი შემდეგ კომპონენტს

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

        Console.WriteLine($"მოთხოვნა [{context.Request.Method}] {context.Request.Path} გაგრძელდა {elapsedMs} ms.");
    }
}

// Startup.cs ან Program.cs-ში დაამატეთ middleware:
// app.UseMiddleware<RequestTimingMiddleware>();

ეს შუა ფენა ზომავს თითოეული HTTP მოთხოვნის დამუშავების დროს და აჩვენებს შედეგს კონსოლში. ეს მიდგომა ეხმარება შესრულების მონიტორინგსა და ბლოკირების წერტილების გამოვლენაში.