Sobes.tech
Junior — Middle

Kā papildus var paplašināt kontroliera funkcionalitāti?

sobes.tech AI

Atbilde no AI

C# kontrolieri (piemēram, ASP.NET Core) var tikt paplašināti ar vairākiem veidiem:

  • Mantošana: izveidojiet klasi, kas manto no pamatkontroliera un pievieno vai pārraksta metodes.
  • Filtri: izmantojiet filtru atribūtus (piemēram, ActionFilter, AuthorizationFilter), lai pievienotu loģiku pirms vai pēc kontroliera darbībām.
  • Middleware: pievienojiet starpniekprogrammu, kas apstrādā pieprasījumus pirms tie sasniedz kontrolieri.
  • Paplašināšanas metodes: pievienojiet paplašināšanas metodes kontrolierim vai tā pamatklasei.
  • Atkarību injekcija: pievienojiet papildu pakalpojumus, kas paplašina funkcionalitāti.

Filtra piemērs:

public class LogActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext context)
    {
        // Loģika pirms darbības izpildes
        base.OnActionExecuting(context);
    }
}

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