Nach dem Lesen über asp.net Core Middleware, bin ich verwirrt, wann sollte ich Filter und wann sollte ich Middlewares verwenden, wie sie das gleiche Ziel zu erreichen scheinen. Wann sollten Middleware anstelle von Fitlern verwendet werden?asp.net Kern Middleware vs Filter
Antwort
Es gibt ein Video darüber auf Kanal 9: ASP.NET Monsters #91: Middleware vs. Filters. Um das Video zusammenzufassen:
Die Ausführung der Anfrage beginnt und wir haben eine Middleware, und eine andere Middlerware, denken Sie daran wie die "Russische Puppen in Puppen" und schließlich die Routing-Middleware tritt und dann Anfrage geht in die MVC Pipline. Also, wenn Sie nicht den Kontext von MVC benötigen (sagen wir, Sie sind besorgt über Ablauf und Ausführung, wie reagieren auf Header einige Pre-Routing-Mechanismus, etc.) dann Middlewares.
Wenn Sie jedoch den Kontext von MVC benötigen und gegen Aktionen arbeiten möchten, verwenden Sie Filter.
Middleware operiert auf der Ebene von ASP.NET Core und kann auf jede einzelne Anfrage reagieren, die in die Anwendung kommt.
MVC-Filter werden dagegen nur für Anforderungen ausgeführt, die an MVC gesendet werden.
Wenn ich zum Beispiel erzwingen wollte, dass alle Anfragen über HTTPS erfolgen müssen, müsste ich dafür eine Middleware verwenden. Wenn ich einen MVC-Filter machte, der das tat, konnten Benutzer immer noch z.B. statische Dateien über HTTP.
Aber andererseits kann etwas, das Anfragedauern in MVC-Controllern protokolliert, absolut ein Aktionsfilter sein.
- 1. asp.net Kern Rewrite-Middleware nicht Umschreiben möglich regex Ausgabe
- 2. In Dienst in Middleware in ASP.NET-Kern injizieren
- 3. Asp.Net Kern (Full Framework .Net) vs Asp.Net Kern (.Net-Core) Performance
- 4. Benutzerdefinierte Autorisieren Filter mit aspnet Kern
- 5. HttpContext .NET Kern speichern Instanz in Middleware
- 6. Aufbau asp.net Kern .csproj (VS 2017) auf Teamstadt
- 7. Filter für statische Datei Middleware
- 8. ASP.NET Core Middleware oder OWIN Middleware?
- 9. ASP.NET Kern DisplayAttribute Lokalisierung
- 10. ControllerContext.ParentActionViewContext in asp.net Kern
- 11. Asp.net Kern veröffentlichen Apache
- 12. SyndicationFeed in Asp.net Kern
- 13. asp.net Kern default
- 14. ELMAH für asp.net Kern
- 15. ASP.NET-Kern schlägt mit
- 16. Asp.NET Kern OpenIddict invalid_grant
- 17. JsonSerializerSettings und Asp.Net Kern
- 18. Thread.CurrentThread.CurrentUICulture in asp.net Kern
- 19. DataSourceResult in asp.net Kern
- 20. Asp.net Kern Benutzerdefinierte Routing
- 21. asp.net Kern Nuspec Abhängigkeit
- 22. ASP.NET Core OWIN Middleware
- 23. VS 2015 .Net Kern Migration
- 24. AuthorizationContext vs AuthorizationHandlerContext in NET-Kern
- 25. VSCode Asp.Net Kern Befehlszeile Argumente beim Debuggen?
- 26. Autorisieren Filter vs Aktion Filter
- 27. Migration von asp.net zu asp.net Kern
- 28. Anfrage ist null nach dem Lesen in Asp.net Kern benutzerdefinierte Middleware
- 29. Fehler beim Versuch, Asp.net Kern
- 30. Debug-Symbole für asp.net Kern
Diese Dokumentation zielt auf diese spezielle Frage ab. https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/filters#using-middleware-in-the-filter-pipeline – Nkosi