Junior — Middle
De que formas é que se pode expandir adicionalmente a funcionalidade do controlador?
sobes.tech IA
Resposta da IA
Em C#, os controladores (por exemplo, no ASP.NET Core) podem ser estendidos de várias maneiras:
- Herança: criar uma classe que herda do controlador base e adiciona ou substitui métodos.
- Filtros: usar atributos de filtros (por exemplo,
ActionFilter,AuthorizationFilter) para adicionar lógica antes ou depois da execução das ações do controlador. - Middleware: adicionar middleware que processa as solicitações antes de chegarem ao controlador.
- Métodos de extensão: adicionar métodos de extensão ao controlador ou à sua classe base.
- Injeção de dependências: conectar serviços adicionais que ampliam a funcionalidade.
Exemplo de uso de um filtro:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Lógica antes de executar a ação
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}