Esiste un OnAction "globale" Eseguibile che è possibile ignorare per avere tutte le azioni MVC (indipendentemente dal controller) fare qualcosa quando vengono chiamate? Se é cosi, come?ASP.NET MVC: Esegui codice su tutte le azioni (OnActionExecuting globale?)
risposta
No. Il modo più semplice per farlo è scrivere una classe base comune che tutti i tipi di controller sottoclassi, quindi inserire un filtro azione su quella classe base o sovrascrivere il suo metodo OnActionExecuting().
... ovviamente, tutto dipende da che cosa è necessario fare. –
Si noti che MVC 3 ha aggiunto il supporto per i filtri globali –
Asp.net MVC3 aggiunto il supporto per Global Filters
Dal blog ScottGu:
ASP.NET MVC supporta la possibilità di applicare in modo dichiarativo logica “trasversale” con un meccanismo chiamato “filtri”. È possibile specificare i filtri sui controller e metodi di azione oggi utilizzando una sintassi attributo in questo modo:
sviluppatori spesso desidera applicare una logica di filtro in tutti i controller all'interno di un'applicazione. ASP.NET MVC 3 ora consente di specificare che un filtro deve essere applicato globalmente a tutti i controller all'interno di un'applicazione. Ora puoi farlo aggiungendolo alla collezione GlobalFilters
. Metodo RegisterGlobalFilters()
è ora incluso nel modello predefinito di classe Global.asax per fornire un posto comodo per fare questo (è quindi chiamato dal metodo Application_Start()
):
La logica risoluzione filtro MVC 3 è flessibile in modo da poter configurare un filtro globale che si applica solo in modo condizionato se vengono soddisfatte determinate condizioni (ad esempio: il debug è abilitato o se una richiesta utilizza un verbo http specifico, ecc.). Ora i filtri possono essere risolti anche da un contenitore DI (Dependency Injection).
Creare una classe che implementi IActionFilter e/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();
}
}
e registrarlo su Global.asax
protected void Application_Start()
{
//...
RegisterGlobalFilters(GlobalFilters.Filters);
//...
}
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new FilterAllActions());
}
- 1. Sovraccarico Azioni MVC ASP.NET
- 2. Filtro azione globale in ASP.NET MVC
- 3. Applicazione del filtro azione su tutte le azioni del controller (C#/ASP.NET MVC)
- 4. Asp.net Mvc: elenca tutte le azioni su un controller con attributo specifico
- 5. MVC Core Come forzare/impostare l'autorizzazione globale per tutte le azioni?
- 6. ASP.NET MVC controller azioni design
- 7. Come aggiungere un prefisso a tutte le azioni con il routing URL MVC di ASP.Net?
- 8. Rails Variabile su tutte le azioni del controller
- 9. Azioni asincrone in ASP.NET MVC 4
- 10. ASP.net MVC filtro globale Autorizza costringendo login su un'azione AllowAnonymous
- 11. Impedire l'applicazione di un filtro globale ASP.NET MVC all'azione Elmah
- 12. ASP.NET MVC: qual è il modo corretto per reindirizzare a pagine/azioni in MVC?
- 13. ASP.NET MVC 4 intercetta tutte le richieste in entrata
- 14. Vedere la barra delle azioni su tutte le attività - Android
- 15. Attributi MVC su controller e azioni
- 16. Esegui una funzione su tutte le parti della stringa php
- 17. UIButton rimuovi tutte le azioni di destinazione
- 18. GRANT ESEGUI a tutte le stored procedure
- 19. azioni MVC JSON ritorno bool
- 20. Esegui codice C# su GPU
- 21. Come includere file js in asp.net MVC e avere un percorso valido su tutte le route
- 22. Imparare ASP.NET MVC su Mac OS X
- 23. Esegui Javascript all'interno di una vista parziale in ASP.NET MVC
- 24. ASP.NET MVC su Mono
- 25. Come si esegue il test dell'unità sul metodo OnActionExecuting del mio asp.net-mvc controller?
- 26. Accesso all'elenco di controller/azioni in un'applicazione ASP.NET MVC
- 27. Esecuzione di azioni API Web in ASP.NET MVC 4
- 28. Controller MVC. Esegui con aree
- 29. utilizzando ViewModels per le azioni POST in MVC elegantemente
- 30. ASP.NET MVC - Approccio per la gestione globale degli errori?
quale contesto vorresti fare questo in? – cdmckay
Il contesto attuale. – Alex