Slovenská verzeSlovensky

wiki Middleware

Miroslav Holec

15. července. 2020

Middleware je běžná třída v rámci ASP.NET Core aplikace, skrze kterou prochází jednotlivé webové požadavky. Middleware se registruje buď jako singleton nebo pomocí IMiddleware rozhraní jako Scoped služba. Každý middleware obsahuje Invoke metodu, skrze kterou prochází requesty obalené do HttpContext třídy. Všechny middlewares jsou řazeny za sebou do tzv. middleware chainu. Požadavek nemusí nutně projít všemi middlewares. Je možné, že zpracování některý z middlewares zastaví (tzv. short-circuiting ).

Registrace všech middlewares se provádí ve Startup.cs metodě Configure:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseDeveloperExceptionPage();
    app.UseHttpsRedirection();
    app.UseRouting();
    app.UseEndpoints(endpoints =>
    {
        endpoints.MapRazorPages();
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}

Pořadí registrace odpovídá pořadí v jakém HttpContext proteče middlewary. Poslední middleware v celém chainu je obvykle EndpointRouting middleware, v rámci kterého se registrují routes pro cílové technologie (MVC, Razor Pages, Blazor Server).

👨‍🎓 Webináře pro vývojáře

Vzdělávat se můžete i z pohodlí domova. Klasická školení jsem doplnil o související témata, která si můžete poslechnout v podobě živých webinářů. Přidejte se téměř 200 vývojářům, kteří se již připojili k mým webinářům!

Termín Místo
🍀 Autentizace pro API v .NET Core 21. září 2020 online více
🍀 Vývoj a správa nástrojů v .NET Core 22. září 2020 online více
🍀 C# a dokonalejší .NET Core aplikace 30. září 2020 online více
🍀 Konzumace REST API v .NET Core 1. října 2020 online více

Loading