Junior — Middle
Контроллердин функционалдуулугун кошумча кеңейтүүнүн кандай жолдору бар?
sobes.tech AI
AIден жооп
C# тилинде контроллерлер (мисалы, ASP.NET Coreда) бир нече жол менен кеңейтүүгө болот:
- Мурас алуу: негизги контроллерден мурас алган жана методдорду кошуп же кайра аныктаган класс түзүңүз.
- Фильтрлер:
ActionFilter,AuthorizationFilterсыяктуу фильтр атрибуттарын колдонуп, контроллер аракеттеринин алдын жана кийин логика кошуңуз. - Орто программалык камсыздоо (Middleware): суранычтарды контроллерге жетпей иштеткен орто программалык камсыздоону кошуңуз.
- Кеңейтүү ыкмалары: контроллер же анын негизги классы үчүн кеңейтүү ыкмаларын кошуңуз.
- Тамырдык кызматтарды киргизүү: функционалдуулукту кеңейтүү үчүн кошумча кызматтарды туташтырыңыз.
Фильтр колдонуу мисалы:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Аткаруу алдында логика
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}