Sobes.tech
Junior — Middle

Тавзеҳ диҳед дар бораи консепсияи истифодаи фильтрҳо дар ASP.NET ва нақши онҳо дар коркарди дархостҳо

sobes.tech AI

Ҷавоб аз AI

В ASP.NET, филтрите са компоненти, които позволяват изпълнението на допълнителна логика преди или след обработката на HTTP заявка от контролера. Те помагат за разделяне на кръстосаните задачи като авторизация, логване, обработка на грешки и кеширане.

Ролята на филтрите при обработката на заявки:

  • Позволяват повторно използване на код без промяна на бизнес логиката.
  • Управляват жизнения цикъл на заявката, например проверка на правата за достъп преди изпълнение на действие.
  • Могат да променят входните данни или резултата от отговора.

Пример за използване на филтър за авторизация:

public class CustomAuthorizationFilter : Attribute, IAuthorizationFilter
{
    public void OnAuthorization(AuthorizationFilterContext context)
    {
        if (!context.HttpContext.User.Identity.IsAuthenticated)
        {
            context.Result = new UnauthorizedResult();
        }
    }
}

// Приложение на филтъра към контролер или действие
[CustomAuthorizationFilter]
public IActionResult SecureAction()
{
    return View();
}