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>();