Барои коркарди бо ҳаёти дархост дар 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-ро муайян мекунад.
Ин усулҳо имкон медиҳанд, ки дар марҳилаҳои гуногун дархостҳоро дастгирӣ, тағир ва коркард кунанд, ва назорати чандирро дар тамоми раванди кор таъмин мекунанд.