Sobes.tech
Middle+

Барои коркарди бо ҳаёти дархост дар ASP.NET Core кадом усулҳо мавҷуданд?

sobes.tech AI

Ҷавоб аз AI

Дар ASP.NET Core, давраи зиндагии дархостро метавон бо усулҳои гуногун назорат ва идора кард:

  • Middleware: Ин асосии роҳи кор бо дархостҳо мебошад. Middleware конвейерро ташкил медиҳад, ки ҳар як дархост аз он мегузарад. Ҳар як компоненти Middleware вазифаи муайянро иҷро мекунад (автентикация, логгирӣ, руҳнамоӣ ва ғайра) ё дархостро ба компоненти оянда мегузаронад.

    // Намунаи Middleware оддӣ
    public class MyCustomMiddleware
    {
        private readonly RequestDelegate _next;
    
        public MyCustomMiddleware(RequestDelegate next)
        {
            _next = next;
        }
    
        public async Task InvokeAsync(HttpContext context)
        {
            // Логикаи пеш аз коркарди дархост
            Console.WriteLine("Пеш аз дархост...");
    
            await _next(context); // Трансфери идора ба Middleware-и оянда
    
            // Логикаи пас аз коркарди дархост
            Console.WriteLine("Пас аз дархост...");
        }
    }
    
    // Тартиби Middleware дар Startup.Configure
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        // ... Middleware-ҳои дигар
        app.UseMiddleware<MyCustomMiddleware>();
        // ...
    }
    
  • Филтри дар MVC/Razor Pages: Филтриҳо имкон медиҳанд, ки логикаро дар марҳилаҳои гуногуни коркарди Action иҷро кунанд (пеш, пас аз иҷрои Action, пеш/пас аз рендери натиҷа).

    • Action филтри: Барои логикаи пеш ва пас аз иҷрои методи Action.
    • Result филтри: Барои логикаи пеш ва пас аз иҷрои Result (масалан, ViewResult, JsonResult).
    • Exception филтри: Барои коркарди истисноҳои нопурра.
    • Resource филтри: Барои логикаи дар марҳилаи аввали конвейери MVC, пеш аз Model Binding.
    • Authorization филтри: Барои иҷозатнома.
  • Model Binding: Раванди, ки HTTP дархостро бо параметрҳои Action муттаҳид мекунад. Мутобиқсозии Model Binders-и худро метавонед созед.

  • Routing (Роҳбарӣ): Мутобиқсозии URL дархост бо нуқтаи охир (endpoint), одатан бо Action-методи контроллер ё Razor Page.

  • Request Handlers (Ҳалли дархостҳо): Дар API-ҳои минималӣ ё бо истифода аз Endpoint Routing, шумо метавонед ҳалли махсус барои маршрутҳои муайянро муайян кунед.

    // Намунаи ҳалли дар API-и минималӣ
    app.MapGet("/hello", () => "Hello World!");
    
  • Startup.ConfigureServices: Танзими хизматрасониҳо ва вобастагиҳо, ки дар тамоми давраи зиндагии барнома ва дархост дастрасанд.

  • Startup.Configure: Тартиби конвейери Middleware-ро муайян мекунад.

Ин усулҳо имкон медиҳанд, ки дар марҳилаҳои гуногун дархостҳоро дастгирӣ, тағир ва коркард кунанд, ва назорати чандирро дар тамоми раванди кор таъмин мекунанд.