Nach dem Hinzufügen von ELMAH und dem Ändern von elmah.mvc.route ist die alte Route noch verfügbar

8

Ich habe ELMAH zu meiner ASP.NET MVC 4 .Net 4-Webanwendung hinzugefügt.

Die Integration war einfach und es funktioniert gut.

Ich habe den Wert "elmah.mvc.route" in den App-Einstellungen meiner web.config auf eine Route "Admin / SiteLog" geändert - das Elmah-Protokoll wird nun auf dieser Route angezeigt

Aber es wird auch immer noch aus irgendeinem Grund bei "/ elmah" angezeigt (ohne CSS-Styling, aber gleichen Inhalt).

Wie kann ich die Standard-Elmah-Route deaktivieren?

Die Integration wurde mithilfe des Elmah.MVC nuget-Pakets

durchgeführt     
Adam Tal 14.02.2013, 14:23
quelle

3 Antworten

9

Dies passiert, weil die Standardroute (vorausgesetzt, Sie haben eine) immer noch mit Elmah.Mvc.ElmahController übereinstimmt.

%Vor%

Der "{Controller}" Teil der Route wird einen passenden Controller finden, ob Sie wollen oder nicht. Dies ist in diesem Fall offensichtlich problematisch.

Sie können Einschränkungen für Ihre Routen hinzufügen, indem Sie IRouteConstraint verwenden, umrissen von hier . Die NotEqual-Einschränkung ist eigentlich ziemlich nützlich.

%Vor%

Also schließe ElmahController von der Standardroute aus, indem du Folgendes verwendest.

%Vor%

Dadurch werden Anfragen für "/ elmah" eine 404 zurückgeben.

    
pdubs 28.02.2013, 22:24
quelle
15

Ich habe gerade dieses Problem selbst durchgearbeitet und die neueste Version scheint ein paar App-Einstellungen zu haben, die gut genug dafür funktionieren.

%Vor%

Es ist wahrscheinlich auch wert, sich der anderen bewusst zu sein, also schaut nach einer Standardinstallation.

%Vor%     
willsaunders 10.05.2014 11:27
quelle
-1

Sie können den Speicherort angeben, indem Sie den Pfad im Abschnitt httpHandlers der Datei web.config

aktualisieren %Vor%     
Andrés Nava - .NET 14.02.2013 17:06
quelle