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.