¿Existe un OnActionExecuting "global" que puedo anular para tener todas mis acciones MVC (independientemente del controlador) hacen algo cuando se llaman? ¿Si es así, cómo?ASP.NET MVC: Ejecutar código en todas las acciones (global OnActionExecuting?)
Respuesta
No. La forma más sencilla de hacer esto es escribir una clase base común que todos los tipos de controlador de la subclase, luego pegar un filtro de acción en esa clase base o anular su método OnActionExecuting().
... por supuesto, todo depende de lo que se necesite hacer. –
Tenga en cuenta que MVC 3 agregó soporte para filtros globales –
Asp.net MVC3 añadió soporte para Global Filters
Desde el blog ScottGu:
ASP.NET MVC soporta la capacidad de aplicar declarativa lógica “transversal” utilizando un mecanismo llamado “filtros”. Puede especificar filtros en los controladores y los métodos de acción de hoy usando una sintaxis de atributo de este modo:
desarrolladores a menudo quieren aplicar un poco de lógica del filtro en todos los controladores dentro de una aplicación. ASP.NET MVC 3 ahora le permite especificar que un filtro debe aplicarse globalmente a todos los Controladores dentro de una aplicación. Ahora puede hacer esto agregándolo a la colección GlobalFilters
. Un método RegisterGlobalFilters()
se incluye ahora en la plantilla de clase Global.asax predeterminado para proporcionar un lugar conveniente para hacer esto (que a continuación se llama por el método Application_Start()
):
La resolución lógica del filtro en MVC 3 es flexible para que pueda configurar un filtro global que solo se aplica condicionalmente si se cumplen ciertas condiciones (por ejemplo: la depuración está habilitada, o si una solicitud utiliza un verbo http particular, etc.). Los filtros también pueden resolverse ahora desde un contenedor de Inyección de Dependencia (DI).
Crear una clase que implementa IActionFilter y/o IResultFilter:
public class FilterAllActions : IActionFilter, IResultFilter
{
public void OnActionExecuting(ActionExecutingContext filterContext)
{
throw new System.NotImplementedException();
}
public void OnActionExecuted(ActionExecutedContext filterContext)
{
throw new System.NotImplementedException();
}
public void OnResultExecuting(ResultExecutingContext filterContext)
{
throw new System.NotImplementedException();
}
public void OnResultExecuted(ResultExecutedContext filterContext)
{
throw new System.NotImplementedException();
}
}
y registrarlo en Global.asax
protected void Application_Start()
{
//...
RegisterGlobalFilters(GlobalFilters.Filters);
//...
}
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new FilterAllActions());
}
- 1. Filtro de acción global en ASP.NET MVC
- 2. acciones sobrecarga ASP.NET MVC
- 3. ASP.NET MVC Global Variables
- 4. ASP.net MVC 3 - Obteniendo datos JSON en OnActionExecuting
- 5. Enforce Acción de filtrado en todas las acciones del controlador (C#/ASP.NET MVC)
- 6. Asp.net Mvc: enumere todas las acciones en un controlador con el atributo específico
- 7. ASP MVC Autoriza todas las acciones excepto algunas
- 8. ¿Cómo pruebo el método OnActionExecuting de mi controlador asp.net-mvc?
- 9. ¿Cómo agregar un prefijo a todas las acciones con el enrutamiento de URL ASP.Net MVC?
- 10. ASP.NET MVC Global error handling
- 11. Diseño de acciones del controlador ASP.NET MVC
- 12. ASP.NET MVC: ¿Cuál es la forma correcta de redirigir a páginas/acciones en MVC?
- 13. acciones ASP.Net MVC controlador que devuelven vacío
- 14. ASP.NET MVC 3 + Razor Error: las acciones secundarias no pueden realizar acciones de redirección
- 15. ASP.NET MVC Session vs Global vs Cache
- 16. Excluir algunas acciones de Autorizar en ASP.net MVC
- 17. Lectura de todas las acciones en un controlador Grails
- 18. Raíles Variable en todas las acciones del controlador
- 19. UIButton eliminar todas las acciones de destino
- 20. ASP.NET MVC 2.0 JsonRequestBehavior Configuración global
- 21. ASP.NET MVC 3 e inyección de filtro global
- 22. Cómo cambiar las secuencias de acciones secundarias en MVC
- 23. Código subyacente en ASP.NET MVC
- 24. Ajustar todas las acciones del controlador en transacciones en Rails
- 25. Ejecutar código jQuery después de aplicar todas las reglas CSS
- 26. Javascript: ¿Cómo deshabilitar temporalmente todas las acciones en la página?
- 27. Envío de varios parámetros para acciones en ASP.NET MVC
- 28. Ejecutar todas las pruebas en Junit 4
- 29. Ver barra de acciones en todas las actividades - Android
- 30. Generación de código QR en ASP.NET MVC
qué contexto le gustaría hacer esto en? – cdmckay
El contexto actual. – Alex