Sobes.tech
Junior — Middle

Масалан, барои арзёбии муддати коркарди ҳар як дархост, метавонед намунаи истифодаи қабати миёнаро пешниҳод кунед?

sobes.tech AI

Ҷавоб аз AI

Тамосаи миҳрол (middleware) барои арзёбии муддати коркарди дархост одатан бо тавассути назорат кардани даъват ва чен кардани вақт пеш ва баъд аз коркарди он амалӣ мешавад.

Масалан дар C# бо истифода аз middleware-и ASP.NET Core:

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-ро чен мекунад ва натиҷаро дар консоль нишон медиҳад. Ин усул кӯмак мекунад дар мониторинг кардани иҷроиш ва муайян кардани нуқтаҳои танг.