Creazione di pagine di errore ASP personalizzati

Traduzione articoli Traduzione articoli
Identificativo articolo: 224070 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sommario

Microsoft Internet Information Services (IIS) versione 5.0 Ŕ stata introdotta la possibilitÓ di creare pagine di errore personalizzate (Active Server Pages) tramite l'aggiunta di un nuovo metodo per l'oggetto server ASP predefinito chiamato Server.GetLastError() che restituisce un nuovo oggetto ASPError .

Informazioni

Quando si verifica un errore durante la compilazione o eseguire una pagina ASP IIS genera un errore 500; 100 ed esegue un metodo Server.Transfer () per trasferire il controllo alla pagina di errore personalizzati attualmente definiti. (Per impostazione predefinita questa pagina Ŕ /iishelp/common/500-100.asp.) Per ulteriori informazioni sul metodo Server.Transfer (), vedere il seguente articolo della Microsoft Knowledge Base riportato di seguito:
219294Come utilizzare il metodo Server.Transfer
Quando controllo viene passato alla pagina di errore personalizzato, il metodo di Server.GetLastError() pu˛ essere utilizzato per ottenere informazioni dettagliate relative all'errore che si Ŕ verificato. Il metodo di Server.GetLastError() restituisce l'oggetto ASPError che dispone di proprietÓ elencate nella tabella riportata di seguito. (Questa tabella Ŕ inoltre disponibili nella documentazione in linea di IIS 5.0.)
Riduci questa tabellaEspandi questa tabella
ProprietÓDescrizione
ASPCodeRestituisce un codice di errore generato da IIS.
NumeroRestituisce il codice di errore COM standard.
OrigineIndica se l'origine dell'errore Ŕ stato interno ASP, il linguaggio di script o un oggetto.
FileIndica il nome del file ASP che Ŕ stato elaborato quando si Ŕ verificato l'errore.
RigaIndica la riga del file ASP che ha generato l'errore.
DescrizioneRestituisce una breve descrizione dell'errore.
ASPDescriptionRestituisce una descrizione pi¨ dettagliata dell'errore, se un errore relativo a ASP.
La procedura descritta di seguito consentono di tramite l'impostazione di una pagina di errore ASP personalizzata.
  1. Salvare il seguente codice ASP nella cartella script come "My500.asp" (senza virgolette):
    <%@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. Impostare la pagina di errore ASP personalizzata:

    1. Aprire Gestione servizio Internet in MMC.
    2. Espandere il sito Web di predefinito.
    3. Fare clic con il pulsante destro del mouse sulla cartella script e scegliere ProprietÓ .
    4. Fare clic sulla scheda Errori personalizzati .
    5. Scorrere verso il basso ed evidenziare l'errore HTTP 500; 100 e scegliere Modifica proprietÓ .
    6. Verificare che il Tipo di messaggio Ŕ impostata a URL .
    7. Modificare l' URL per "/ scripts/my500.asp" (senza virgolette).
    8. Scegliere OK fino a tornare a MMC.
  3. Verificare la nuova pagina di errore:

    1. Nella cartella Scripts, salvare tutte le pagine riportate di seguito:

      • Salvare la pagina seguente come "Badpage1.asp" (senza virgolette):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 1</title>
        </head>
        <body>
        <% Response.Write 1/0 %>
        </body>
        </html>
        										
      • Salvare la pagina seguente come Badpage2.asp"(senza virgolette):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 2</title>
        </head>
        <body>
        <% Response.BadMethod "Hello" %>
        </body>
        </html>
        										
      • Salvare la pagina seguente come "Badpage3.asp" (senza virgolette):
        <%@Language="VBSCRIPT"%>
        <html>
        <head>
        <title>Bad Page 3</title>
        </head>
        <body>
        <%
          Dim objBad
          Set objBad = Server.CreateObject("BAD.OBJECT.CLASS")
        %>
        </body>
        </html>
        										
    2. Quando si visualizza una delle pagine precedenti, la pagina di errore personalizzato restituita al browser ora deve essere visualizzata.
Nota: Quando si utilizzano pagine di errore ASP di Internet Explorer 5.0 e versioni successive per la visualizzazione personalizzate, potrebbero essere restituiti risultati imprevisti. IE5 introdotta una funzionalitÓ per sostituire il modello HTML per HTTP 500 e diversi altri comunemente restituiti codici di stato, con i messaggi standard, non specifiche. Per ignorare questa funzionalitÓ e visualizzare il testo esatto del codice di stato restituito al browser, aprire Internet Explorer e passare:
Tools | Internet Options | Advanced
					

quindi deselezionare la casella di controllo con etichettata
Show friendly HTTP error messages
					

Ulteriori informazioni su questa funzionalitÓ sono disponibili in
218155Descrizione dei Hypertext Transport Protocol messaggi di errore

ProprietÓ

Identificativo articolo: 224070 - Ultima modifica: martedý 21 novembre 2006 - Revisione: 1.2
Le informazioni in questo articolo si applicano a:
  • Microsoft Internet Information Services 5.0
Chiavi:á
kbmt kbaspobj kbcodesnippet kbinfo KB224070 KbMtit
Traduzione automatica articoli
Il presente articolo Ŕ stato tradotto tramite il software di traduzione automatica di Microsoft e non da una persona. Microsoft offre sia articoli tradotti da persone fisiche sia articoli tradotti automaticamente da un software, in modo da rendere disponibili tutti gli articoli presenti nella nostra Knowledge Base nella lingua madre dell?utente. Tuttavia, un articolo tradotto in modo automatico non Ŕ sempre perfetto. Potrebbe contenere errori di sintassi, di grammatica o di utilizzo dei vocaboli, pi¨ o meno allo stesso modo di come una persona straniera potrebbe commettere degli errori parlando una lingua che non Ŕ la sua. Microsoft non Ŕ responsabile di alcuna imprecisione, errore o danno cagionato da qualsiasi traduzione non corretta dei contenuti o dell?utilizzo degli stessi fatto dai propri clienti. Microsoft, inoltre, aggiorna frequentemente il software di traduzione automatica.
Clicca qui per visualizzare la versione originale in inglese dell?articolo: 224070
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Dichiarazione di non responsabilitÓ per articoli della Microsoft Knowledge Base su prodotti non pi¨ supportati
Questo articolo Ŕ stato scritto sui prodotti per cui Microsoft non offre pi¨ supporto. L?articolo, quindi, viene offerto ?cosý come Ŕ? e non verrÓ pi¨ aggiornato.

Invia suggerimenti

 

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