Gibt es eine "globale" OnActionExecuting, die ich außer Kraft setzen kann alle meine MVC-Aktionen (unabhängig von Controller) etwas tun, wenn sie aufgerufen werden? Wenn das so ist, wie?ASP.NET MVC: Ausführen von Code für alle Aktionen (globale OnActionExecuting?)
Antwort
Nein. Der einfachste Weg, dies zu tun, besteht darin, eine allgemeine Basisklasse zu schreiben, die alle Untertypen des Controllertyps enthält, und dann einen Aktionsfilter auf diese Basisklasse zu setzen oder ihre OnActionExecuting() -Methode zu überschreiben.
10 ... natürlich hängt alles davon ab, was zu tun ist. –
Bitte beachten Sie, dass MVC 3 Unterstützung für globale Filter hinzugefügt hat –
Asp.net MVC3 Unterstützung für Global Filters
Vom ScottGu Blog:
ASP.NET MVC unterstützt die Fähigkeit, „cross-cutting“ Logik deklarativ Anwendung einen Mechanismus namens „Filter“. Sie können Filter auf Controller angeben und Aktionsmethoden heute ein Attribut-Syntax wie folgt:
Entwickler oft eine Filterlogik über alle Controller in einer Anwendung anwenden möchten. Mit ASP.NET MVC 3 können Sie jetzt angeben, dass ein Filter global auf alle Controller in einer Anwendung angewendet werden soll. Sie können dies jetzt tun, indem Sie es zur GlobalFilters
Sammlung hinzufügen. Ein RegisterGlobalFilters()
Verfahren wird nun in der Standard-Klasse Global.asax Vorlage enthält einen bequemen Platz zu schaffen, dies zu tun (es wird dann durch die Application_Start()
Methode genannt):
Die Filteranalyselogik in MVC 3 flexibel, sodass Sie einen globalen Filter konfigurieren können, der nur bedingt angewendet wird, wenn bestimmte Bedingungen erfüllt sind (z. B. Debugging ist aktiviert oder wenn eine Anfrage ein bestimmtes HTTP-Verb verwendet usw.). Filter können jetzt auch aus einem Dependency-Injection-Container (DI) aufgelöst werden.
Erstellen Sie eine Klasse, die IActionFilter und/oder IResultFilter Implementiert:
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();
}
}
und registrieren Sie es auf Global.asax
protected void Application_Start()
{
//...
RegisterGlobalFilters(GlobalFilters.Filters);
//...
}
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new FilterAllActions());
}
- 1. MVC Core Wie erzwinge/setze globale Autorisierung für alle Aktionen?
- 2. Was ist OnActionExecuting für den AccountController von ASP.NET-MVC definiert?
- 3. Kinder Aktionen nicht ausführen umleiten Aktionen erlaubt - MVC
- 4. Rückgabetypen in ASP.NET MVC-Aktionen
- 5. Redunanzeliminierung in ASP.NET MVC-Aktionen
- 6. Verwenden von async in MVC für Aktionen
- 7. ASP.NET MVC-Code für graderoseter
- 8. ASP.NET MVC + DDD - Erstellen und Aktualisieren von Aktionen für Aggregatwurzeln
- 9. ASP.NET MVC und lange laufenden Aktionen
- 10. ASP.NET MVC Routing vs bestimmte Aktionen
- 11. Ausführen von Code nur einmal in ASP.NET MVC 3
- 12. MVC-Namenskonventionen für JSON-Aktionen
- 13. Benutzeraktivitäten/Aktionen für eine asp.net mvc-Website verfolgen?
- 14. Register globale Filter in ASP.Net MVC 4 und Autofac
- 15. Async Aktionen in ASP.NET MVC 4
- 16. ASP.NET MVC - globale Variablen für den Request-Bereich
- 17. ASP.NET MVC: Was ist die richtige Methode, um auf Seiten/Aktionen in MVC umzuleiten?
- 18. ASP.Net MVC-Controller Aktionen, die void zurückgeben
- 19. Alle Seiten Navigationshelfer für ASP.NET MVC?
- 20. MiniProfiler Anzeigen von Asp.Net Mvc Slow Call-Aktionen Gelegentlich
- 21. Wie globale Zeichenfolge behandeln Konstanten ASP.NET MVC
- 22. Code-Editor für asp.net mvc rasiermesser
- 23. ASP.Net MVC: Speichern von Daten in OnActionExecuting und Abrufen in OnActionExecuted in einem Controller
- 24. ASP.Net MVC - seltsames Verhalten beim Zwischenspeichern von Parametern in Aktionen
- 25. Verzögerter Job für ASP.NET zum Ausführen von Async-Code?
- 26. MVC-Attribute für Controller und Aktionen
- 27. ActiveRecord Globale Rückrufe für alle Modelle
- 28. ASP.NET MVC-Umleitung von Attribut
- 29. Zuordnung einzelner Schaltflächen auf ASP.NET MVC View zu Controller-Aktionen
- 30. ASP.NET MVC Liste alle Benutzer
welchem Kontext würden Sie dies in tun? – cdmckay
Der aktuelle Kontext. – Alex