Sobes.tech
Junior — Middle

Qanday qilib nazoratchi funksiyasini qo'shimcha ravishda kengaytirish mumkin?

sobes.tech AI

AIdan javob

C# da nazorat qiluvchilar (masalan, ASP.NET Core da) bir necha usul bilan kengaytirilishi mumkin:

  • Merosi: asosiy nazorat qiluvchidan vorislik qilish va metodlarni qo'shish yoki qayta yozish.
  • Filtrlar: ActionFilter, AuthorizationFilter kabi atributlar yordamida nazorat qiluvchining harakatlaridan oldin yoki keyin logika qo'shish.
  • Middleware: so'rovlar nazorat qiluvchiga yetib borishidan oldin ishlov beradigan o'rta dastur qo'shish.
  • Kengaytirish metodlari: nazorat qiluvchi yoki uning asosiy sinfi uchun kengaytirish metodlarini qo'shish.
  • Qaramliklarni injektsiya qilish: funksionallikni kengaytiradigan qo'shimcha xizmatlarni ulash.

Filtrdan foydalanish misoli:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Harakatdan oldin logika
        base.OnActionExecuting(context);
    }
}

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