Sobes.tech
Junior — Middle

Vysvětlete koncept middleware v ASP.NET Core a jak interaguje se zpracováním HTTP požadavků.

sobes.tech AI

Odpověď od AI

V ASP.NET Core je middleware komponenty, které zpracovávají HTTP požadavky a odpovědi v řetězci zpracování. Každé middleware přijímá požadavek, může provést určité akce (například autentizaci, logování, správu chyb) a poté předá řízení dalšímu komponentu.

Middleware funguje sekvenčně: požadavek prochází řetězcem middleware a odpověď je vrácena stejným řetězcem. To umožňuje flexibilně nakonfigurovat zpracování požadavků, přidávat funkce a řídit tok dat.

Příklad jednoduchého middleware v ASP.NET Core:

public class SimpleMiddleware
{
    private readonly RequestDelegate _next;

    public SimpleMiddleware(RequestDelegate next)
    {
        _next = next;
    }

    public async Task InvokeAsync(HttpContext context)
    {
        // Akce před předáním požadavku
        Console.WriteLine("Příchozí požadavek");

        await _next(context); // Předání požadavku dalšímu middleware

        // Akce po zpracování požadavku
        Console.WriteLine("Odchozí odpověď");
    }
}

// V Startup.cs
app.UseMiddleware<SimpleMiddleware>();