Erstellen benutzerdefinierter ASP-Fehlerseiten

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 224070 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Alles erweitern | Alles schließen

Zusammenfassung

Internetinformationsdienste (IIS) Version 5.0 die Möglichkeit, benutzerdefinierte Seiten (ASP Seiten Active Server) Fehler durch das Hinzufügen einer neuen Methode für das integrierte ASP-Serverobjekt erstellen eingeführt aufgerufen, Server.GetLastError() , der ein neues ASPError -Objekt zurückgibt.

Weitere Informationen

Tritt ein Fehler beim Kompilieren oder eine ASP-Seite ausführen, wird IIS generiert einen Fehler 500; 100 und führt eine Methode Server.Transfer() Steuerelement an die aktuell definierten benutzerdefinierte Fehlerseite übergeben. (Standardmäßig ist diese Seite /iishelp/common/500-100.asp.) Weitere Informationen über die Server.Transfer()-Methode finden Sie unter den folgenden Artikel der Microsoft Knowledge Base:
219294Verwendung der Server.Transfer-Methode
Wenn Steuerelement an die benutzerdefinierte Fehlerseite übergeben wird, kann die Server.GetLastError()-Methode verwendet werden, um detaillierte Informationen über den Fehler zu erhalten, die aufgetreten. Die Server.GetLastError()-Methode gibt ein ASPError-Objekt mit die in der folgenden Tabelle aufgeführten Eigenschaften zurück. (In dieser Tabelle kann auch in der IIS 5.0-Onlinedokumentation gefunden werden.)
Tabelle minimierenTabelle vergrößern
-EigenschaftBeschreibung
ASPCodeGibt einen Fehlercode von IIS generiert.
AnzahlGibt den standardmäßigen COM-Fehlercode zurück.
QuelleAngibt, ob die Quelle des Fehlers internen ASP, die Skriptsprache oder ein Objekt war.
DateiGibt den Namen der ASP-Datei, die beim Auftreten des Fehlers verarbeitet wurde.
ZeileGibt die Zeile innerhalb der ASP-Datei, die den Fehler generiert hat.
BeschreibungGibt eine kurze Beschreibung des Fehlers zurück.
ASPDescriptionGibt eine ausführlichere Beschreibung des Fehlers zurück, wenn Sie eine ASP-bezogenen Fehler ist.
Die unten aufgeführten Schritte führt Sie durch Einrichten einer benutzerdefinierten ASP-Fehlerseite.
  1. Den folgenden ASP-Code im Ordner Skripts als "My500.asp" (ohne Anführungszeichen) speichern:
    <%@Language="VBSCRIPT"%>
    <%
      Option Explicit
      On Error Resume Next
      Response.Clear
      Dim objError
      Set objError = Server.GetLastError()
    %>
    <html>
    <head>
    <title>ASP 500 Error</title>
    <style>
    BODY  { FONT-FAMILY: Arial; FONT-SIZE: 10pt;
            BACKGROUND: #ffffff; COLOR: #000000;
            MARGIN: 15px; }
    H2    { FONT-SIZE: 16pt; COLOR: #ff0000; }
    TABLE { BACKGROUND: #000000; PADDING: 5px; }
    TH    { BACKGROUND: #0000ff; COLOR: #ffffff; }
    TR    { BACKGROUND: #cccccc; COLOR: #000000; }
    </style>
    </head>
    <body>
    
    <h2 align="center">ASP 500 Error</h2>
    
    <p align="center">An error occurred processing the page you requested.<br>
    Please see the details below for more information.</p>
    
    <div align="center"><center>
    
    <table>
    <% If Len(CStr(objError.ASPCode)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">IIS Error Number</th>
        <td align="left" valign="top"><%=objError.ASPCode%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Number)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">COM Error Number</th>
        <td align="left" valign="top"><%=objError.Number%>
        <%=" (0x" & Hex(objError.Number) & ")"%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Source)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Error Source</th>
        <td align="left" valign="top"><%=objError.Source%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.File)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">File Name</th>
        <td align="left" valign="top"><%=objError.File%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Line)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Line Number</th>
        <td align="left" valign="top"><%=objError.Line%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.Description)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Brief Description</th>
        <td align="left" valign="top"><%=objError.Description%></td>
      </tr>
    <% End If %>
    <% If Len(CStr(objError.ASPDescription)) > 0 Then %>
      <tr>
        <th nowrap align="left" valign="top">Full Description</th>
        <td align="left" valign="top"><%=objError.ASPDescription%></td>
      </tr>
    <% End If %>
    </table>
    
    </center></div>
    
    </body>
    </html>
    						
  2. Legen Sie die benutzerdefinierte ASP-Fehlerseite:

    1. Öffnen Sie den Internetdienste-Manager in der MMC.
    2. Erweitern Sie Ihre Standardwebsite.
    3. Klicken Sie mit der rechten Maustaste auf den Ordner Scripts, und wählen Sie Eigenschaften .
    4. Klicken Sie auf die Registerkarte Benutzerdefinierte Fehler .
    5. Führen Sie einen Bildlauf nach unten und markieren Sie den HTTP-Fehler 500; 100, und klicken Sie auf Eigenschaften .
    6. Stellen Sie sicher, dass Nachrichtentyp auf URL festgelegt ist.
    7. Ändern Sie den URL zu "/ scripts/my500.asp" (ohne Anführungszeichen).
    8. Klicken Sie auf OK , bis Sie zur MMC.
  3. Testen Sie die neue Fehlerseite:

    1. Speichern Sie alle folgenden Seiten in Ihren Skripts Ordner:

      • Speichern Sie die folgende Seite als "Badpage1.asp" (ohne Anführungszeichen):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 1</title>
        </head>
        <body>
        <% Response.Write 1/0 %>
        </body>
        </html>
        										
      • Speichern Sie die folgende Seite als Badpage2.asp"(ohne Anführungszeichen):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 2</title>
        </head>
        <body>
        <% Response.BadMethod "Hello" %>
        </body>
        </html>
        										
      • Speichern Sie die folgende Seite als "Badpage3.asp" (ohne Anführungszeichen):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 3</title>
        </head>
        <body>
        <%
          Dim objBad
          Set objBad = Server.CreateObject("BAD.OBJECT.CLASS")
        %>
        </body>
        </html>
        										
    2. Wenn Sie eine der oben aufgeführten Seiten durchsuchen, sollte jetzt die benutzerdefinierte Fehlerseite an den Browser zurückgegeben angezeigt werden.
Hinweis: Wenn Internet Explorer 5.0 und höher zum Anzeigen der benutzerdefinierten ASP Fehlerseiten verwenden, möglicherweise unerwartete Ergebnisse zurückgegeben werden. IE5 eingeführt, ein Feature zum Ersetzen von HTML-Vorlage für HTTP 500, und mehrere andere Statuscodes mit standardisierten, nicht spezifische Nachrichten häufig zurückgegeben. Umgehen dieses Feature und den genauen Text an den Browser zurückgegebene Statuscode anzeigen, öffnen Sie Internet Explorer, und navigieren Sie zu:
Tools | Internet Options | Advanced
					

Deaktivieren Sie das Kontrollkästchen
Show friendly HTTP error messages
					

Weitere Informationen zu diesem Feature finden Sie in
218155Beschreibung von HTTP-Fehlermeldungen

Eigenschaften

Artikel-ID: 224070 - Geändert am: Dienstag, 21. November 2006 - Version: 1.2
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Internet Information Services 5.0
Keywords: 
kbmt kbaspobj kbcodesnippet kbinfo KB224070 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 224070
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Disclaimer zu nicht mehr gepflegten KB-Inhalten
Dieser Artikel wurde für Produkte verfasst, für die Microsoft keinen Support mehr anbietet. Der Artikel wird deshalb in der vorliegenden Form bereitgestellt und nicht mehr weiter aktualisiert.

Ihr Feedback an uns

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com