MVC InvalidOperationException mit benutzerdefinierten Fehlerseiten
Habe ich benutzerdefinierte Fehlerseiten einrichten mit
<customErrors mode="On" defaultRedirect="~/Home/Error">
<error statusCode="404" redirect="~/Home/PageNotFound" />
</customErrors>
Ich eine Seite erstellt, und wirft Ausnahme und ich bekommen umgeleitet, um den korrekten Fehler-Seiten.
Aber ich Bemerke diese Fehler in elmah auf die Herstellung webserver:
System.InvalidOperationException Die Ansicht "Fehler" ist oder sein Meister war
nicht gefunden oder es ist keine Ansicht-engine unterstützt die gesuchten Standorte. Die
folgende Standorte gesucht:
~/Bereiche/Fußball/Views/Entwurf/Fehler.aspx
~/Bereiche/Fußball/Views/Entwurf/Fehler.ascx
~/Bereiche/Fußball/Views/Shared/Error.aspx
~/Bereiche/Fußball/Views/Shared/Error.ascx ~/Views/Entwurf/Fehler.aspx
~/Views/Entwurf/Fehler.ascx ~/Views/Shared/Error.aspx
~/Views/Shared/Error.ascx ~/Bereiche/Fußball/Views/Entwurf/Fehler.cshtml
~/Bereiche/Fußball/Views/Entwurf/Fehler.vbhtml
~/Bereiche/Fußball/Views/Shared/Error.cshtml
~/Bereiche/Fußball/Views/Shared/Error.vbhtml ~/Views/Entwurf/Fehler.cshtml
~/Views/Entwurf/Fehler.vbhtml ~/Views/Shared/Error.cshtml
~/Views/Shared/Error.vbhtml
Warum ist es auf der Suche nach dem Fehler-Seite an anderer Stelle? Ich gelöscht, ~/Views/Shared/Error.cshtml und fügte hinzu, meine benutzerdefinierte Fehlerseite in ~/Home/Fehler, da ich angegeben einen neuen Standard in meiner config-Datei.
Irgendwelche Ideen?
Dank.
customErrors
ist etwas ASP.NET beschäftigt sich mit (nicht ASP.NET MVC), es ist nicht das beste Werkzeug für den job. Richard Dingwall hat einen hervorragenden Beitrag dazu: richarddingwall.name/2008/08/17/...InformationsquelleAutor Ryan Sampson | 2011-09-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
MVC-Projekten standardmäßig fügt die HandleErrorAttribute in der
Global.asax.cs
DateiDieser filter wird ausgeführt, wenn eine nicht behandelte Ausnahme ausgelöst wird. Es legt die Ansicht als
Error
. Daher MVC runtime versucht zu Rendern, anzeigen. Aber in deinem Fall, gibt es keine solche Aussicht. Also es wirft wieder eine andere Ausnahme, die behandelt werden ASP.NET Laufzeit und zeigt Ihre Fehler-Seite, die Sie konfiguriert haben, inWeb.Config
Datei.Können Sie Ihre eigene exception-filter und registrieren Sie es.
Sie implementieren müssen, um eine spezielle version des HandleErrorAttribute für Elmah. Finden Sie ein Beispiel für solch einen hier: hanselman.com/blog/...
Danke, jetzt habe ich auskommentiert, die Zeile in der Antwort, und verlasse mich auf custom-Fehler, Umleitung von web.config. Ich werde die Antwort dann hier, wenn das Probleme verursacht. stackoverflow.com/questions/766610/... Wer weiß, warum, würde ich nicht kommentieren wollen, dass die code-Zeile aus?
Dieser filter wird ausgeführt, wenn eine nicht behandelte Ausnahme ausgelöst wird. Es legt die Ansicht als Fehler. Dies ist ein sehr wertvolles Stück von Informationen. Vielen Dank.
InformationsquelleAutor Eranga
Ich landete dabei die Registrierung von
HandleErrorAttribute
im Globalen.asax und nur mit der<customErrors>
Abschnitt. ELMAH jetzt richtig protokolliert Fehler, und ich bin in der Lage, geben Sie benutzerdefinierte Fehlerseiten.Bin ich etwas fehlt?
Bei mir funktioniert mit benutzerdefinierten Fehler mit StackExchange.Außergewöhnliche anstelle von Elmah.
InformationsquelleAutor Derek Morrison
Können Sie auch sicherstellen, dass die
HandleErrorAttribute
nicht registriert ist, indem Sie es aus dem globalen Filter, mit dem Entfernen Methode:InformationsquelleAutor Tieson T.
Für zukünftige Leser von diesem post, beachten Sie, dass Elmah fügt seine eigenen
HandleErrorAttribute
so ist auch zu erwarten, die Fehler.cshtml-Ansicht. Beachten Sie, dass ich auch installiert, der Elmah.MVC NuGet-Paket-aber das ist nur verwendet, um es sich richtig.Ja, nur bemerkt, dass auf nuget.org dass Elmah.MVC ist verantwortlich für das hinzufügen der HandleErrorAttribute:
InformationsquelleAutor richinator38
Deaktivieren ELMAH ist
HandleErrorAttribute
fügen Sie die folgende Zeile, um dieappSettings
- Abschnitt Ihrer Web.Config-Datei:InformationsquelleAutor Paul R