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();
}
}