Sobes.tech
Junior — Middle

İdarəedicinin funksionallığını əlavə olaraq necə genişləndirmək olar?

sobes.tech Süni İntellekt

AI-dan cavab

C# dilində nəzarətçilər (məsələn, ASP.NET Core-da) müxtəlif üsullarla genişləndirilə bilər:

  • İrsi: əsas nəzarətçidən miras alan və metodları əlavə edən və ya yenidən yazan sinif yaradın.
  • Filtrlər: ActionFilter, AuthorizationFilter kimi filtr atributlarından istifadə edərək nəzarətçinin hərəkətlərinin əvvəlində və ya sonunda məntiq əlavə edin.
  • Middleware: nəzarətçiyə çatmadan əvvəl sorğuları işləyən aralıq proqram əlavə edin.
  • Genişləndirmə metodları: nəzarətçi və ya onun əsas sinfi üçün genişləndirmə metodları əlavə edin.
  • Asılılıqların injeksiyası: funksionallığı genişləndirən əlavə xidmətləri qoşun.

Filtr istifadəsinə nümunə:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Əməliyyatdan əvvəl məntiq
        base.OnActionExecuting(context);
    }
}

[LogActionFilter]
public class MyController : Controller
{
    public IActionResult Index()
    {
        return View();
    }
}