ınternet ınformation Services (IIS) sürüm 5.0 özel Active Server Pages (ASP) hata sayfaları aracılığıyla bir yerleşik ASP sunucu nesnesi için yeni bir yöntemin oluşturmanıza olanak sağlar, yeni bir ASPError nesnesi döndüren Server.GetLastError() çağrıldı.
Derleme veya bir ASP sayfası çalışacak bir hata oluştuğunda, IIS bir 500; 100 hata üretir ve denetim için tanımlanan'geçerli bir özel hata sayfası geçirilecek Server.Transfer() yöntemi yürütür. (Varsayılan olarak, bu sayfayı /iishelp/common/500-100.asp içindir.) Server.Transfer() yöntemi hakkında daha fazla bilgi için Microsoft Knowledge Base'de aşağıdaki makaleye bakın:
219294
(http://support.microsoft.com/kb/219294/EN-US/
)
Server.Transfer</a0> yöntemini nasıl kullanılır?
Denetim için özel hata sayfası geçirildiğinde, Server.GetLastError() yöntemi oluşan ilgili ayrıntılı bilgi almak için kullanılır. Server.GetLastError() yöntem, aşağıdaki tabloda listelenen özelliklere sahip bir ASPError nesnesi döndürür. (Bu tablo IIS 5.0 çevrimiçi belgelerinde de bulunabilir.)
Bu tabloyu kapaBu tabloyu aç
| Özellik | Açıklama |
|---|
| ASPCode | IIS tarafından oluşturulan bir hata kodunu döndürür. |
| Sayı | Standart COM hata kodunu döndürür. |
| Kaynak | Hatanın kaynağının ASP, komut dosyası dili veya bir nesne için iç olup olmadığını gösterir. |
| DOSYA | Hata oluştuğunda, işlenmekte olan .asp dosyasının adını gösterir. |
| Satır | Hatayı oluşturan .asp dosya satırını belirtir. |
| Açıklama | Hata kısa bir açıklamasını verir. |
| ASPDescription | ASP ile ilgili bir hata olduğunda hata daha ayrıntılı bir açıklamasını verir. |
Aşağıda listelenen adımları bir özel ASP hata sayfası ayarı aracılığıyla yürütmek.
- Aşağıdaki ASP kodu, "My500.asp" (tırnak işaretleri olmadan) komut dosyaları klasörünüze Kaydet:
<%@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>
- Özel ASP hata sayfası ayarlayın:
- ınternet Hizmetleri Yöneticisi MMC'DE açın.
- Varsayılan Web sitenize genişletin.
- Komut dosyaları) klasörünü farenin sağ düğmesiyle tıklayın ve sonra Özellikler ' i seçin.
- Özel hatalar</a0> sekmesini tıklatın.
- Aşağı kaydırma yapın ve "500; 100 HTTP hatasını seçin ve Özellikleri Düzenle'yi tıklatın.
- Ileti türüURL ayarlandığından emin olun.
- URL değiştirme "/ scripts/my500.asp" (tırnak işaretleri olmadan).
- MMC için dönünceye kadar Tamam ' ı tıklatın.
- Yeni hata sayfası sınayın:
- Aşağıdaki sayfaların tümünü, komut dosyaları klasörünüze Kaydet:
- Aşağıdaki sayfada, "Badpage1.asp" (tırnak işaretleri olmadan) kaydedin:
<%@Language="VBSCRIPT"%>
<html>
<head>
<title>Bad Page 1</title>
</head>
<body>
<% Response.Write 1/0 %>
</body>
</html>
- Aşağıdaki sayfada, (tırnak işaretleri olmadan) Badpage2.asp Kaydet":
<%@Language="VBSCRIPT"%>
<html>
<head>
<title>Bad Page 2</title>
</head>
<body>
<% Response.BadMethod "Hello" %>
</body>
</html>
- Aşağıdaki sayfa, "Badpage3.asp" (tırnak işaretleri olmadan) kaydedilemiyor:
<%@Language="VBSCRIPT"%>
<html>
<head>
<title>Bad Page 3</title>
</head>
<body>
<%
Dim objBad
Set objBad = Server.CreateObject("BAD.OBJECT.CLASS")
%>
</body>
</html>
- Şimdi, yukarıdaki sayfalardan herhangi birindeki göz attıklarında, tarayıcıya döndürülen özel hata sayfası görmelisiniz.
Not: Internet görüntülemeye Explorer 5.0 ve sonraki sürümleri özel ASP hata sayfaları kullanırken, beklenmeyen sonuçlar döndürdü. Ie5 için HTTP 500 HTML şablonu değiştirmek için bir özelliği kullanılmaya başlandı ve çeşitli diğer durum kodları, standart, özel olmayan iletileri sık döndürdü. Bu özellik atlayıp tarayıcıya döndürülen durum kodu tam metnini görüntülemek için ınternet Explorer'ı açın ve gidin:
Tools | Internet Options | Advanced
sonra etiketli onay kutusunun işaretini kaldırın.
Show friendly HTTP error messages
Bu özellik hakkında ek bilgi
218155
(http://support.microsoft.com/kb/218155/EN-US/
)
Köprü Metni Aktarım iletişim kuralı ile ilgili hata iletileri açıklaması