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 მოთხოვნის დამუშავების დროს და აჩვენებს შედეგს კონსოლში. ეს მიდგომა ეხმარება შესრულების მონიტორინგსა და ბლოკირების წერტილების გამოვლენაში.