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 հարցման մշակման ժամանակը և ցուցադրում արդյունքը կոնսոլում։ Այս մոտեցումը օգնում է հետևել կատարողականությանը և հայտնաբերել խցանման կետերը։