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 суроосунун иштөө убактысын өлчөйт жана натыйжаны консольго чыгарат. Бул ыкма иштөө көрсөткүчтөрүн көзөмөлдөөгө жана тыгын жерлерин аныктоого жардам берет.