Sobes.tech
Junior — Middle

Kuidas saab täiendavalt laiendada kontrolleri funktsionaalsust?

sobes.tech AI

Vastus AI-lt

C#-s saab kontrollerid (näiteks ASP.NET Core'is) laiendada mitmel viisil:

  • Pärimine: loo klass, mis pärib põhikontrollerist ja lisab või üle kirjutab meetodeid.
  • Filtrid: kasuta filtrite atribuute (näiteks ActionFilter, AuthorizationFilter), et lisada loogikat enne või pärast kontrolleri tegevuste täitmist.
  • Middleware: lisa vahekiht, mis töötleb päringuid enne, kui need jõuavad kontrollerini.
  • Laiendamise meetodid: lisa laiendamise meetodid kontrollerile või selle põhiklassile.
  • Sõltuvuste sisestamine: ühenda täiendavaid teenuseid, mis laiendavad funktsionaalsust.

Näide filtri kasutamisest:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Loogika enne tegevuse täitmist
        base.OnActionExecuting(context);
    }
}

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