Sobes.tech
Junior — Middle

Обяснете концепцията за middleware в ASP.NET Core и как тя взаимодейства с обработката на HTTP заявки.

sobes.tech AI

Отговор от AI

В ASP.NET Core middleware са компоненти, които обработват HTTP заявки и отговори в веригата за обработка. Всеки middleware получава заявка, може да извърши някои действия (например удостоверяване, логване, обработка на грешки) и след това предава управлението на следващия компонент.

Middleware взаимодействат последователно: заявката преминава през веригата от middleware, а отговорът се връща по същата верига. Това позволява гъвкаво конфигуриране на обработката на заявки, добавяне на функционалности и контрол на потока от данни.

Пример за прост middleware в ASP.NET Core:

public class SimpleMiddleware
{
    private readonly RequestDelegate _next;

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

    public async Task InvokeAsync(HttpContext context)
    {
        // Действия преди предаване на заявката
        Console.WriteLine("Входяща заявка");

        await _next(context); // Предаване на заявката към следващия middleware

        // Действия след обработката на заявката
        Console.WriteLine("Изходящ отговор");
    }
}

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