Fehlerhafter externer Link auf eigne Errorsite abfangen



  • Hallo Leute,

    ich möchte gerne externe Fehler, z.B. "Datei nicht gefunden" oder "Seite nicht gefunden" (404).
    Gerne auf meine eignen Errorsite umleiten und abfangen.
    Ist das überhaupt möglich?
    Bin noch nicht so lange in ASP .Net C# zugange.
    Hat jemand vielleicht eine Antwort!?

    Gruß, Doug_HH



  • Das kannst du in der web.config einstellen. 🙂
    http://msdn2.microsoft.com/de-de/library/s2f4e3e7.aspx



  • Hi PuppetMaster2k,

    das war auch mein Ansatz, nur da landen Seiten die in meiner ASP Anwendung nicht gefunden werden.
    Wenn ich zum Beispiel auf "~/hutz.aspx" verweise und diese Seite existiert nicht, dann wird der Fehler auf meine eigens dafür vorgesehene Fehlerseite umgeleitet.

    Nur wenn ich einen externen Link anspreche, zum Beispiel www.c-pluspus.de, in diesem Link habe ich das zweite l vergessen, bekomme ich einen 404 Error der nicht von meiner Fehlerseite abgefangen wird, oder ein Download-Link stimmt zum Beispiel nicht mehr.
    Ich hoffe dafür gibt es eine Lösung, dass ist ja eine nicht abgefangene Exception.

    Gruß, Doug_HH



  • Das einzige was mir da noch einfällt, ist eine Global.asax.
    http://msdn2.microsoft.com/de-de/library/bb979330.aspx

    Da kannst du Fehler für verschiedene Fälle abfangen, und zwar für die ganze Anwendung. Ich selbst hab das so noch nicht gebraucht, aber vielleicht passt es ja?!



  • Wie willst du Fehler abfangen die nicht durch deine Applikation verursacht wurden? Du kannst doch dahingehend keinen Einfluss auf den Browser des Users nehmen, was unter uns gesagt auch gut so ist.
    Ich denke nicht das du irgend einen Weg finden wirst externe Verknüpfungen die auf nicht existierende Seiten verweisen abzufangen.



  • Das befürchte ich auch.
    Ich muss mich wohl damit abfinden, aber warum ist das gut so?
    Das wäre doch das gleiche wenn meine Windowsanwendung ständig durch eine Ausnahme abrutschen!
    Oder denke ich das Falsch?

    Gruß, Doug_HH



  • eine Möglichkeit wäre, die Seite im Vorfeld aufzurufen und den Response-Header auszuwerten... Das hilft dir aber auch nicht weiter. Ob du jetzt ne Fehlerseite anzeigst oder der angesprochene Server bleibt sich gleich



  • ...aber warum ist das gut so...

    Der User clickt auf einen Link und erwartet vom Browser das die von ihm angefragte Adresse geöffnet wird. Der Browser schickt nun einen Anfrage an die im Link angegebene Adress und wartet auf eine Antwort. Wenn der Angefragte Server nicht antwortet stellt der Browser eben genau das dar was der User erwartet wenn der Server nicht gefunden wurde.
    Das alles hat mit deiner Applikation nicht das geringste zu tun. Das einzige was du zur verfügung stellst ist der externe Link, der Rest wird vom Client erledigt. Dort jetzt einzugreifen wäre falsch und der Zugriff auf den Browser ist aus Sicherheitsgründen zum Glück untersagt.
    Du kannst allerdings die Antwort vom Server vorher prüfen wie zwutz schon erwähnt hat. Du könntest den externen Link umleiten indem du eine URL auf deinem Server angibst. Das könnte etwas wie:

    http://www.escample.com/redirect/http://www.c-pluspus.de
    

    sein.
    Deine Applikation könnte nun vor dem Umleiten die Antwort des Servers auswerten und gegebenenfalls eine Meldung ausgeben.



  • bin mir jetzt nicht sicher ob ich dich richtig verstanden habe aber man kann diese 404 Errors per htaccess umleiten oder willst du das mit asp machen?

    MFG eiskalt

    [edit]
    http://www.metatagwizard.de/fehler404_umleitung.php
    [/edit]



  • Wenn ich ihn richtig verstanden habe möchte er externe URL's die falsch sind abfangen. Da kann man ja keine eigenen Fehlerseiten basteln, da die URL nicht auf dem eigenen Server nicht gefunden werden kann sondern auf einem externen.



  • oh ok dann vergiss was ich gesagt hab. *g*


Log in to reply