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