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 .
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:
219294
(http://support.microsoft.com/kb/219294/EN-US/
)
Come 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 |
|---|
| ASPCode | Restituisce un codice di errore generato da IIS. |
| Numero | Restituisce il codice di errore COM standard. |
| Origine | Indica se l'origine dell'errore è stato interno ASP, il linguaggio di script o un oggetto. |
| File | Indica il nome del file ASP che è stato elaborato quando si è verificato l'errore. |
| Riga | Indica la riga del file ASP che ha generato l'errore. |
| Descrizione | Restituisce una breve descrizione dell'errore. |
| ASPDescription | Restituisce 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.
- 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>
- Impostare la pagina di errore ASP personalizzata:
- Aprire Gestione servizio Internet in MMC.
- Espandere il sito Web di predefinito.
- Fare clic con il pulsante destro del mouse sulla cartella script e scegliere Proprietà .
- Fare clic sulla scheda Errori personalizzati .
- Scorrere verso il basso ed evidenziare l'errore HTTP 500; 100 e scegliere Modifica proprietà .
- Verificare che il Tipo di messaggio è impostata a URL .
- Modificare l' URL per "/ scripts/my500.asp" (senza virgolette).
- Scegliere OK fino a tornare a MMC.
- Verificare la nuova pagina di errore:
- 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>
- 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
218155
(http://support.microsoft.com/kb/218155/EN-US/
)
Descrizione dei Hypertext Transport Protocol messaggi di errore
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
| kbmt kbaspobj kbcodesnippet kbinfo KB224070 KbMtit |
Traduzione automatica articoliIl 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
(http://support.microsoft.com/kb/224070/en-us/
)
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ù supportatiQuesto articolo è stato scritto sui prodotti per cui Microsoft non offre più supporto. L?articolo, quindi, viene offerto ?così come è? e non verrà più aggiornato.