Junior — Middle
Paaiškinkite filtrų naudojimo koncepciją ASP.NET ir jų vaidmenį užklausų apdorojime
sobes.tech AI
Atsakymas iš AI
ASP.NET filtruose yra komponentai, leidžiantys atlikti papildomą logiką prieš arba po HTTP užklausos apdorojimo kontroleryje. Jie padeda atskirti kryžmines užduotis, tokias kaip autorizacija, registravimas, klaidų tvarkymas ir talpyklos naudojimas.
Filtrų vaidmuo užklausų apdorojime:
- Leidžia pakartotinai naudoti kodą be verslo logikos keitimo.
- Valdo užklausos gyvavimo ciklą, pvz., patikrinant prieigos teises prieš vykdant veiksmą.
- Gali keisti įeinančius duomenis arba atsakymo rezultatą.
Autorizacijos filtro naudojimo pavyzdys:
public class CustomAuthorizationFilter : Attribute, IAuthorizationFilter
{
public void OnAuthorization(AuthorizationFilterContext context)
{
if (!context.HttpContext.User.Identity.IsAuthenticated)
{
context.Result = new UnauthorizedResult();
}
}
}
// Filtrą taikyti kontroleriui arba veiksmui
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
return View();
}