Sobes.tech
Middle+

ASP.NET Core-da sorğu həyat dövrü ilə işləmək üçün hansı metodlar mövcuddur?

sobes.tech Süni İntellekt

AI-dan cavab

ASP.NET Core-da sorğu dövrü müxtəlif metodlar ilə idarə oluna və nəzarət edilə bilər:

  • Middleware: Bu, sorğuların işlənməsinin əsas yoludur. Middleware-lər hər sorğunun keçdiyi bir boru xətti təşkil edir. Hər middleware komponenti müəyyən bir vəzifəni yerinə yetirir (kimlik doğrulama, qeydiyyat, marşrutlaşdırma və s.) və ya sorğunu növbəti komponentə keçirir.

    // Sadə Middleware nümunəsi
    public class MyCustomMiddleware
    {
        private readonly RequestDelegate _next;
    
        public MyCustomMiddleware(RequestDelegate next)
        {
            _next = next;
        }
    
        public async Task InvokeAsync(HttpContext context)
        {
            // Sorğudan əvvəlki məntiq
            Console.WriteLine("Sorğudan əvvəl...");
    
            await _next(context); // Növbəti Middleware-ə idarəetməni ötür
    
            // Sorğudan sonra məntiq
            Console.WriteLine("Sorğudan sonra...");
        }
    }
    
    // Startup.Configure-də Middleware qeydiyyatı
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // ... digər Middleware-lər
        app.UseMiddleware<MyCustomMiddleware>();
        // ...
    }
    
  • MVC/Razor Pages-də Filtrlər: Filtrlər Action-un işlənməsinin müxtəlif mərhələlərində məntiqin icrasına imkan verir (Action-dan əvvəl, sonra, nəticənin render olunmasından əvvəl/sonra).

    • Action filters: Action metodunun icrasından əvvəl/sonra məntiq üçün.
    • Result filters: Nəticənin icrasından əvvəl/sonra məntiq üçün (məsələn, ViewResult, JsonResult).
    • Exception filters: İdarə olunmayan istisnaları işləmək üçün.
    • Resource filters: MVC boru xəttinin erkən mərhələsində, Model Binding-dən əvvəl.
    • Authorization filters: İcazə üçün.
  • Model Binding: HTTP sorğusunu Action metodlarının parametrlərinə uyğunlaşdıran proses. Öz xüsusi Model Binders-inizi yarada bilərsiniz.

  • Routing: URL sorğusunu, adətən, bir controller-dəki Action metoduna və ya Razor Page-ə uyğunlaşdırır.

  • Request Handlers: Minimal API-lərdə və ya Endpoint Routing istifadə edərək, müəyyən marşrutlar üçün açıq şəkildə işləyicilər təyin edə bilərsiniz.

    // Minimal API-də nümunə işləyici
    app.MapGet("/hello", () => "Salam Dünya!");
    
  • Startup.ConfigureServices: Tətbiqin və sorğunun bütün həyat dövrü boyunca mövcud olan xidmətləri və asılılıqları konfiqurasiya edir.

  • Startup.Configure: Middleware boru xəttini müəyyən edir.

Bu metodlar, sorğuları müxtəlif mərhələlərdə ələ keçirməyə, dəyişdirməyə və işləməyə imkan verir və bütün proses üzərində çevik nəzarət təmin edir.