Sobes.tech
Junior — Middle

Чӣ гуна метавон функсионалияти контроллерро иловагӣ васеъ кард?

sobes.tech AI

Ҷавоб аз AI

Дар C#, контроллерҳоро (масалан, дар ASP.NET Core) метавон ба чанд роҳ васеъ кард:

  • Мурас: классеро созед, ки аз контроллери асосӣ мерос мегирад ва методҳоро илова ё иваз мекунад.
  • Филтрҳо: истифода баред атрибутҳои филтр (масалан, ActionFilter, AuthorizationFilter) барои илова кардани логика пеш аз ё баъд аз иҷрои амалҳои контроллер.
  • Middleware: middleware-ро илова кунед, ки дархостҳоро пеш аз расидан ба контроллер коркард мекунад.
  • Методҳои васеъкунӣ: методҳои васеъкунӣ барои контроллер ё класи асосии он илова кунед.
  • Вурудоти вобастагиҳо: хизматрасониҳои иловагӣ илова кунед, ки функсионалиро васеъ мекунанд.

Масалан, истифодаи филтр:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Логикаи пеш аз иҷрои амал
        base.OnActionExecuting(context);
    }
}

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