Sobes.tech
Junior — Middle

Kaip galima papildomai išplėsti valdiklio funkcionalumą?

sobes.tech AI

Atsakymas iš AI

C# kalboje kontroleriai (pavyzdžiui, ASP.NET Core) gali būti išplėsti keliais būdais:

  • Paveldėjimas: sukurkite klasę, kuri paveldi iš pagrindinio kontrolerio ir prideda arba perrašo metodus.
  • Filtrai: naudokite filtrų atributus (pvz., ActionFilter, AuthorizationFilter), kad pridėtumėte logiką prieš arba po kontrolerio veiksmų vykdymo.
  • Tarpinis programinės įrangos sluoksnis (Middleware): pridėkite tarpinį programinės įrangos sluoksnį, kuris apdoroja užklausas prieš pasiekiant kontrolerį.
  • Plėtros metodai: pridėkite plėtros metodus kontroleriui arba jo pagrindiniam klasės.
  • Priklausomybių injekcija: prijunkite papildomas paslaugas, kurios išplečia funkcionalumą.

Filtrų naudojimo pavyzdys:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Logika prieš veiksmo vykdymą
        base.OnActionExecuting(context);
    }
}

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