精华区 [关闭][返回]

当前位置:月光软件>>讨论区精华>>〖软件开发〗>>● ASP>>★ASP的技巧★>>错误信息>>有关win2000、IIS5中asp详细出错信息的显

主题:有关win2000、IIS5中asp详细出错信息的显
发信人: dongbao()
整理人: dongbao(2002-04-19 17:02:22), 站内信件
    最近经常有人问在win2000和IIS5中不显示asp错误的详细信息,而只显示错
误号,如"错误ID800xxxxx",这使得程序调试很不方便,有些人采取在IIS中设置
500-100错误指向默认,这样做也不会出现详细的错误信息。实际上这可能是微软
出于安全考虑而在500-100.asp中没有显示详细出错信息。其实,你只要把500-1
00.asp稍加修改就可以了。下面是我修改的这个文件的内容。你只要把他copy下
来存为500-100.asp然后覆盖原来的这个文件就可以了。注意文件中两行横线之间
就是我修改的部分。


500-100.asp:


<%@ language="VBScript" %>
<%
Option Explicit

Const lngMaxFormBytes = 200

Dim objASPError, blnErrorWritten, strServername, strServerIP, strRem
oteIP
Dim strMethod, lngPos, datNow, strQueryString, strURL

If Response.Buffer Then
Response.Clear
Response.Status = "500 Internal Server Error"
Response.ContentType = "text/html"
Response.Expires = 0
End If

Set objASPError = Server.GetLastError
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<html dir=ltr>

<head>
<style>
a:link            {font:9pt 宋体; color:FF0000}
a:visited        {font:9pt 宋体; color:#4e4e4e}
</style>

<META NAME="ROBOTS" CONTENT="NOINDEX">

<title>本页无法显示</title>

<META HTTP-EQUIV="Content-Type" Content="text-html; charset=gb2312">
<META NAME="MS.LOCALE" CONTENT="ZH-CN">
</head>

<script> 
function Homepage(){
<!--
// in real bits, urls get returned to our script like this:
// res://shdocvw.dll/http_404.htm#http://www.DocURL.com/bar.htm

//For testing use DocURL = "res://shdocvw.dll/http_404.htm#https:/
/www.microsoft.com/bar.htm"
DocURL=document.URL;

//this is where the http or https will be, as found by searching f
or :// but skipping the res://
protocolIndex=DocURL.indexOf("://",4);

//this finds the ending slash for the domain server
serverIndex=DocURL.indexOf("/",protocolIndex + 3);

//for the href, we need a valid URL to the domain. We search for t
he # symbol to find the begining
//of the true URL, and add 1 to skip it - this is the BeginURL val
ue. We use serverIndex as the end marker.
//urlresult=DocURL.substring(protocolIndex - 4,serverIndex);
BeginURL=DocURL.indexOf("#",1) + 1;
urlresult=DocURL.substring(BeginURL,serverIndex);

//for display, we need to skip after http://, and go to the next s
lash
displayresult=DocURL.substring(protocolIndex + 3 ,serverIndex);
document.write('<A HREF="' + urlresult + '">' + displayresult + "<
/a>");
}
//-->
</script>

<body bgcolor="FFFFFF">

<table width="410" cellpadding="3" cellspacing="5">

  <tr>    
    <td align="left" valign="middle" width="360">
    <h1 style="COLOR:000000; FONT: 9pt 宋体"><!--Problem-->本页无法显示
</h1>
    </td>
  </tr>
  
  <tr>
    <td width="400" colspan="2">
    <font style="COLOR:000000; FONT: 9pt 宋体">试图访问的网页出现问题,
无法显示。</td>
  </tr>
  
  <tr>
    <td width="400" colspan="2">
    <font style="COLOR:000000; FONT: 9pt 宋体">

    <hr color="#C0C0C0" noshade>
    
    <p>请尝试以下方法:</p>

    

          <li id="instructionsText1">单击 
          <a href="javascript:location.reload()">
          刷新按钮或者梢候再试。<br>
          
          
          
  • 打开 
          
          <script>
          <!--
    if (!((window.navigator.userAgent.indexOf("MSIE") > 0) && (windo
    w.navigator.appVersion.charAt(0) == "2")))
          {
               Homepage();
          }
          //-->
          </script>

          主页,然后查找与所需信息相关的链接。 

  •     

    
    <h2 style="FONT: 9pt 宋体; color:000000">HTTP 500.100 - 内部服务器
错误 - ASP 错误<br>
    Internet 信息服务</h2>

    <hr color="#C0C0C0" noshade>
    
    <p>技术信息(适用于支持人员)</p>


  • 错误类型:<br>
    <%
    Dim bakCodepage
    bakCodepage = Session.Codepage
    Session.Codepage = 936
    Response.Write Server.HTMLEncode(objASPError.Category)
    If objASPError.ASPCode > "" Then Response.Write Server.HTMLEncode(",
     " & objASPError.ASPCode)
      Response.Write Server.HTMLEncode(" (0x" & Hex(objASPError.Number) & 
    ")" ) & "<br>"

      If objASPError.ASPDescription > "" Then Response.Write Server.HTMLEn
    code(objASPError.ASPDescription) & "<br>"

      blnErrorWritten = False

      ' Only show the Source if it is available and the request is from th
    e same machine as IIS
      If objASPError.Source > "" Then
        strServername = LCase(Request.ServerVariables("SERVER_NAME"))
        strServerIP = Request.ServerVariables("LOCAL_ADDR")
        strRemoteIP =  Request.ServerVariables("REMOTE_ADDR")
        If (strServername = "localhost" Or strServerIP = strRemoteIP) And 
    objASPError.File <> "?" Then
          Response.Write Server.HTMLEncode(objASPError.File)
          If objASPError.Line > 0 Then Response.Write ", 第 " & objASPErro
    r.Line & " 行"
          If objASPError.Column > 0 Then Response.Write ", 第 " & objASPEr
    ror.Column & " 列"
          Response.Write "<br>"
          Response.Write "<font style=""COLOR:000000; FONT: 9pt 宋体"">
    "
          Response.Write Server.HTMLEncode(objASPError.Source) & "<br>"
          If objASPError.Column > 0 Then Response.Write String((objASPErro
    r.Column - 1), "-") & "^<br>"
          Response.Write "
    "
          blnErrorWritten = True
        End If
      End If

      If Not blnErrorWritten And objASPError.File <> "?" Then
        Response.Write ""
        Response.Write Server.HTMLEncode(objASPError.File)
        If objASPError.Line > 0 Then Response.Write Server.HTMLEncode(", 第
     " & objASPError.Line & " 行")
        If objASPError.Column > 0 Then Response.Write ", 第 " & objASPErro
    r.Column & " 列"
    '-------------------------------------------------------------------
    ' added by Bigeagle
    ' date:  2000/5/10

        dim l_strAspDescription
        l_strAspDescription = "错误原因:" + objASPError.Description()
        if l_strAspDescription <> "" then
           response.write("<p>" + l_strAspDescription+ "</p>")
        end if

        l_strAspDescription = "详细描述:" + objASPError.ASPDescription()

        if l_strAspDescription <> "" then
           response.write("<p>" + l_strAspDescription+ "</p>")
        end if

    '------------------------------------------------------------------- 

        Response.Write "
    <br>"
      End If
    %>

  • <p>
  • 浏览器类型:<br>
    <%= Request.ServerVariables("HTTP_USER_AGENT") %>

  • <p>
  • 页:<br>
    <%
    strMethod = Request.ServerVariables("REQUEST_METHOD")

    Response.Write strMethod & " "

    If strMethod = "POST" Then
    Response.Write Request.TotalBytes & " bytes to "
    End If

    Response.Write Request.ServerVariables("SCRIPT_NAME")

    lngPos = InStr(Request.QueryString, "|")

    If lngPos > 1 Then
        Response.Write "?" & Left(Request.QueryString, (lngPos - 1))
      End If

      Response.Write "
  • "

      If strMethod = "POST" Then
        Response.Write "<p>
  • POST 数据:<br>"
        If Request.TotalBytes > lngMaxFormBytes Then
           Response.Write Server.HTMLEncode(Left(Request.Form, lngMaxFormB
    ytes)) & " . . ."
        Else
          Response.Write Server.HTMLEncode(Request.Form)
        End If
        Response.Write "
  • "
      End If

    %>
    <p>
  • 时间:<br>
    <%
    datNow = Now()

    Response.Write Server.HTMLEncode(FormatDateTime(datNow, 1) & ", " &
    FormatDateTime(datNow, 3))
    Session.Codepage = bakCodepage
    %>

  • </p>
    <p>
  • 详细信息:<br>
    <% strQueryString = "prd=iis&sbp=&pver=5.0&ID=500;100&cat=" & Server.
    URLEncode(objASPError.Category) & _
    "&os=&over=&hrd=&Opt1=" & Server.URLEncode(objASPError.ASPCode) &
    "&Opt2=" & Server.URLEncode(objASPError.Number) & _
    "&Opt3=" & Server.URLEncode(objASPError.Description)
    strURL = "http://www.microsoft.com/ContentRedirect.asp?" & _
    strQueryString
    %>
    <a href="<%= strURL %>">Microsoft 支持

  • </p>

        </td>
      </tr>
      
    </table>
    </body>
    </html>



    --
    明知道爱你不会有结果 为何还如此执著
    为你付出所有 你竟不顾一切就走
    明知道爱你只是继续错 为何还如此脆弱
    已经习惯有你 已经不能將你摆脱
    也许当一场梦 梦醒一切都随风

    ※ 来源:.月光程序代码网 http://www.moon-soft.com.[FROM: 211.101.144.65]

[关闭][返回]






转载请注明:转载自 月光程序代码网 [ http://www.moon-soft.com ]