Junior — Middle
Jak lze dále rozšířit funkčnost ovladače?
sobes.tech AI
Odpověď od AI
V C#, lze kontrolery (například v ASP.NET Core) rozšiřovat několika způsoby:
- Dědičnost: vytvořte třídu, která dědí z základního kontroleru a přidává nebo přepisuje metody.
- Filtry: použijte atributy filtrů (například
ActionFilter,AuthorizationFilter) k přidání logiky před nebo po provedení akcí kontroleru. - Middleware: přidejte middleware, které zpracovává požadavky před tím, než dorazí k kontroleru.
- Rozšiřující metody: přidejte rozšiřující metody pro kontroler nebo jeho základní třídu.
- Injekce závislostí: připojte další služby, které rozšiřují funkčnost.
Příklad použití filtru:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Logika před provedením akce
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}