Junior — Middle
Môžete uviesť príklad použitia medzičlánku na odhad doby spracovania každej požiadavky?
sobes.tech AI
Odpoveď od AI
Medzipamäť (middleware) na hodnotenie trvania spracovania požiadavky sa často implementuje zachytením volania a meraním času pred a po spracovaní.
Príklad v C# s použitím 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); // prenáša riadenie na ďalší komponent
stopwatch.Stop();
var elapsedMs = stopwatch.ElapsedMilliseconds;
Console.WriteLine($"Žiadosť [{context.Request.Method}] {context.Request.Path} trvala {elapsedMs} ms.");
}
}
// V Startup.cs alebo Program.cs pridajte middleware:
// app.UseMiddleware<RequestTimingMiddleware>();
Tento medzičlánok meria čas spracovania každej HTTP požiadavky a zobrazuje výsledok v konzole. Tento prístup pomáha sledovať výkon a identifikovať úzke miesta.