Wie kann ich 404 an die Arbeit mit Elmah erhalten und die HandleErrorAttribute für Elmah geschrieben in asp.net Mvc?

StackOverflow https://stackoverflow.com/questions/4027433

Frage

Ich habe Elmah in einem meiner ASP.NET MVC-Projekte umgesetzt. Darüber hinaus habe ich die folgenden:

  • ich die ElmahHandleErrorAttribute umgesetzt geschrieben von Atif Aziz in diesem post
  • Ich habe das Attribut für alle meine Controller
  • Ich habe Setup Elmah zum Ausfiltern von 404 Fehler, da ich diese
  • nicht anmelden wollen
  • Ich habe eine Error.aspx Ansicht in den freigegebenen Ordner, die ich für alle meine Fehler verwenden möchten.
  • My Custom in der Web.Config eingeschaltet ist, und ich habe specifed keine Fehlerseiten in ihm, da ich nicht haben.

In einem meinem Controller Ich habe den folgenden Code:

if (model == null)
            throw new HttpException((int)HttpStatusCode.NotFound, "Project not found");

Ich mag einfach ein 404 angezeigt werden, wenn ein Datensatz nicht in der Datenbank gefunden werden kann. Aus irgendeinem Grund wird meine Error.aspx Seite nicht für einen 404-Fehler angezeigt werden soll. Stattdessen zeigt es die generische asp.net Seite „die Ressource nicht gefunden werden kann“. Ich habe versucht, den 404 Filter-Setup in Elmah zu entfernen, aber das ändert nichts.

Der interessante Teil ist, wenn ich den Fehler von NotFound ändern sagen InternalServerError die Error.aspx Seite zeigt sich ganz gut.

Hat jemand irgendwelche Hinweise, warum dies ist?

War es hilfreich?

Lösung

Ich habe nicht Elmah über die Schaffung einer Beispielanwendung verwendet - aber vielleicht, weil ein 404 ist nicht Fehler in der Anwendung? Wenn mein Verständnis richtig ist, wird ein 404-Fehler auf IIS zurückgeschoben, was wiederum zeigt die Fehlermeldung Sie sehen. Auch ich glaube, dass die Web.coin

Wenn ich richtig verstehe, können Sie Ihr Konzept und Build verwenden diese statt oder stellen Sie den Response.StatusCode bis 404 ändern (Check out Jeffs Antwort in der verknüpften Frage)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top