Block 404 FavIco Fehler in ELMAh

8

Ich habe sofort bemerkt, dass ELMAH einen 404 nicht für favico auf meinem lokalen Server gefunden hat. Wie kann ich diesen Fehler durch einen Filter unterdrücken? Ich bin noch nicht so vertraut mit der Konfiguration es ..

    
Caveatrob 17.04.2009, 21:02
quelle

6 Antworten

18

Auf der offiziellen Seite Fehlerfilterung wird eine Reihe von Möglichkeiten erläutert, wie dieser 404-Favicon-Fehler unterdrückt werden kann.

Sie könnten alle 404 Fehler deklarativ in der web.config wie folgt herausfiltern. Ich bin mir nicht sicher, ob es einen Weg gibt, nur ein 404 für ein Favicon zu unterdrücken.

%Vor%

Wenn Sie dies programmgesteuert durchführen möchten, können Sie den Fehler in den ErrorLog- oder ErrorEmail-Filterereignissen, wie in den offiziellen Dokumenten erläutert, ablehnen. Der folgende Code ist etwas übertrieben, zeigt aber, wie Sie only 404-Fehler für eine Anfrage /favicon.ico herausfiltern können.

%Vor%

Ich würde es vorziehen, entweder alle 404s deklarativ über die web.config zu filtern oder einfach ein Favicon wie Joel suggeriert.

    
Kurt Schindler 16.10.2009, 18:27
quelle
13

Es hilft Ihnen nicht, ELMAH zu konfigurieren, aber die einfachste Möglichkeit, ein 404 für Anfragen für ein Favicon zu verhindern, ist die Bereitstellung eines ...

    
Joel Mueller 17.04.2009 21:25
quelle
5

Ich konnte ELMAH dazu bringen, den Fehler mit dem folgenden Code zu ignorieren. Sie können möglicherweise auch andere Pfade hinzufügen, die Sie ebenfalls ignorieren möchten. Technisch gesehen könnten dies separate Tests sein, aber auf der anderen Seite möchte ich andere 404 Fehler in der Zukunft ignorieren, die mit meiner App zu tun haben. Ich dachte, ich würde diese zusammen gruppieren, da sie nicht von meiner Anwendung abhängig sind und nur hier sind um Unordnung aus meiner Fehlerprotokollierung zu entfernen.

%Vor%

Wenn Sie sich darüber Sorgen machen, dass Ihre web.config-Datei unübersichtlich ist, können Sie die Filter immer in eine dedizierte Datei aufteilen.

%Vor%     
Nick Albrecht 22.04.2012 19:11
quelle
4

Es ist nicht so, dass meine Webanwendung ein Favicon anfordert, sondern wenn ich zur Seite elmah.axd blicke, fordert der Browser ein Favicon an.

Das sollte angeblich funktionieren:

%Vor%

Aber raten Sie mal, was es nicht tut.

Der einzige Weg, den ich gefunden habe, ist ein favicon.ico zu meinem Web-Root hinzuzufügen. Dies ist nicht für meine Website, es ist nur für die elmah.axd Seite. Rufen Sie route.IgnoreRoute NICHT auf.

Hier ist elmah.axd mit meinem Favicon und keine Fehler:

    
Matt Frear 28.01.2011 11:06
quelle
2

Ich ignoriere einfach die Route, anstatt Elmah zu konfigurieren. Das funktioniert für mich:

%Vor%     
Junto 24.02.2010 15:00
quelle
1

Ich habe die programmatische Lösung von Kurt Schindler oben verwendet (vs config); Ich habe jedoch festgestellt, dass Nicht-HttpExceptions zweimal im ErrorLog_Filtering-Ereignishandler ausgelöst wurden. Um dies zu vermeiden, müssen Sie die GetBaseException-Methode einer Typprüfung unterziehen. Hier ist das Snippet

%Vor%

Nichts Neues hier, nur ein Hinweis, wenn Sie ein seltsames Verhalten sehen.

Danke ...

    
Dan Ryan 17.01.2011 19:54
quelle