Junior — Middle
¿De qué maneras se puede ampliar adicionalmente la funcionalidad del controlador?
sobes.tech AI
Respuesta de la IA
En C# los controladores (por ejemplo, en ASP.NET Core) se pueden ampliar de varias maneras:
- Herencia: crear una clase que herede del controlador base y añada o sobrescriba métodos.
- Filtros: usar atributos de filtros (por ejemplo,
ActionFilter,AuthorizationFilter) para añadir lógica antes o después de la ejecución de las acciones del controlador. - Middleware: agregar middleware que procese las solicitudes antes de llegar al controlador.
- Métodos de extensión: añadir métodos de extensión para el controlador o su clase base.
- Inyección de dependencias: conectar servicios adicionales que amplíen la funcionalidad.
Ejemplo de uso de un filtro:
public class LogActionFilter : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext context)
{
// Lógica antes de ejecutar la acción
base.OnActionExecuting(context);
}
}
[LogActionFilter]
public class MyController : Controller
{
public IActionResult Index()
{
return View();
}
}