Wie kann ich Fehler 404 Handler, ohne das Framework einen Exception 500 Fehlercode werfen?404 Http-Fehlerhandler in Asp.Net MVC (RC 5)
Antwort
http://jason.whitehorn.ws/2008/06/17/Friendly-404-Errors-In-ASPNET-MVC.aspx gibt die folgende Erklärung:
eine Wildcard Routing-Regel als letzte Regel hinzufügen:
routes.MapRoute("Error",
"{*url}",
new { controller = "Error", action = "Http404" });
Jede Anfrage, die nicht eine andere Regel passt auf die Http404 Wirkung des Fehler Controller geleitet wird , die Sie auch konfigurieren müssen:
public ActionResult Http404(string url) {
Response.StatusCode = 404;
ViewData["url"] = url;
return View();
}
Sie können HandleUnknownAction in Ihrem Controller auch in den Fällen überschreiben, in denen Eine Anfrage stimmt zwar mit einem Controller überein, passt jedoch nicht zu einer Aktion. Die Standardimplementierung löst einen 404-Fehler aus.
Gute Idee. Sehen Sie sich diese Lösung an, die eine 'HandleUnknownAction'-Überschreibung enthält: http://StackOverflow.com/questions/619895/how-can-i-properly-handle-404s-in-asp-net-mvc/2577095#2577095 –
Neue HttpException auslösen (404, "Resource Not Found");
Mit MVC 3 Sie können HttpNotFound zurückkehren(), um richtig einen 404.
Like this zurück:
public ActionResult Download(string fontName)
{
FontCache.InitalizeFonts();
fontName = HttpUtility.UrlDecode(fontName);
var font = FontCache.GetFontByName(fontName);
if (font == null)
return HttpNotFound();
return View(font);
}
- 1. ASP.NET MVC 5 Fehlerbehandlung
- 2. Windows 7 asp.net mvc RC
- 3. Asp.net MVC 5 Routing
- 4. 404 Seiten in ASP.NET MVC
- 5. AntiForgeryToken in ASP.Net veraltet MVC 4 RC
- 6. ASP.Net MVC 5 Unterverzeichnis Bündelungsprobleme
- 7. Asp.NET MVC 5 Trace
- 8. Cookies in ASP.Net MVC 5
- 9. ClaimsIdentity in ASP.NET MVC 5
- 10. ASP.NET MVC Routing Fehler 404
- 11. bekommen 404 beim Versuch, MVC 3 RC grundlegende App auf IIS 7/5
- 12. Kann nicht installieren ASP.NET MVC 3 RC
- 13. MVC 5 Ajax-Post gibt 404
- 14. ASP.NET-MVC 2 RC Beste Funktionen
- 15. Voting System in ASP.NET MVC 5
- 16. Trailing-Punkt in MVC 5 WebRequest URL verursacht 404
- 17. Ersatz für @helper in ASP.NET 5/asp.net mvc 6
- 18. 5 Aktivieren asp.net Broker MVC
- 19. ASP.NET MVC 5 DropDownList selectedindexexchanged
- 20. ASP.NET MVC 5 Form Validierung
- 21. ASP.NET MVC 5 einfache Anmeldung
- 22. ASP.Net MVC 5 JsonResult Caching
- 23. ASP.NET MVC 5 DropDownListFor AutoVervollständigen
- 24. ASP.NET MVC 5: Benutzerdefinierte Authentifizierung
- 25. ASP.NET MVC 5 Async-Kontextverwaltung
- 26. Asp.Net MVC 5 ohne Owin?
- 27. Migrieren von ASP.NET MVC 5-Projekt nach ASP.NET 5
- 28. "Generic" OpenID in ASP.NET MVC 5
- 29. Cascading Dropdown-Listen in ASP.NET MVC 5
- 30. Modular/Plugin Framework In ASP.Net MVC 5
Nur ein FYI, der oben verlinkten Beitrag zurückgibt 404 (oh, die Ironie). Die neue Adresse ist: http://jason.whitehorn.ws/2008/06/17/Friendly-404-Errors-In-ASPNET-MVC.aspx –
Das einzige Problem hier ist, dass so viel zu den typischen/{ Controller}/{Aktion}/{ID} Route. Um das Problem zu umgehen, habe ich explizit alle meine Routen definiert und beseitigt. –
Leider funktioniert der Link nicht. Auch http://jason.whitehorn.ws/ ist nicht zugänglich: | – stej