gpt4 book ai didi

iis-7 - ASPError 对象在我的自定义错误页面上不包含任何数据

转载 作者:行者123 更新时间:2023-12-04 15:15:41 24 4
gpt4 key购买 nike

我的 中有以下内容web.config

<httpErrors errorMode="Custom">
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="500" prefixLanguageFilePath="" path="/error.asp" responseMode="ExecuteURL" />
</httpErrors>
错误处理正在工作,当发生 500 错误时,我被发送到我的 error.asp而不是默认的 500 错误页面。
问题是 ASPError 的所有属性都没有。 Server.GetLastError 返回的对象设置。
例如,在下面的代码中,错误描述是
dim oErr : set oErr = Server.GetLastError

Response.Write "Error Description: " & oErr.Description& "<br />"

更新
基于 Joel 在评论中链接到的线程,我已将 web.config 更新为以下内容:
<httpErrors errorMode="Custom">
<remove statusCode="500" subStatusCode="100" />
<error statusCode="500" subStatusCode="100" prefixLanguageFilePath="" path="/error.asp" responseMode="ExecuteURL" />
</httpErrors>
GetLastError 返回的 ASPError 对象中给我数据.
现在的问题是我从产生错误的页面的开头获取 HTML,然后页面的其余部分是来自 error.asp 的 HTML。 .
我真的很想重定向到 error.asp而是将 web.config 更改为 responseMode="Redirect"似乎不起作用。

最佳答案

这是对我有用的解决方案。

设置 web.config 像这样:

<httpErrors errorMode="Custom">
<remove statusCode="500" subStatusCode="100" />
<error statusCode="500" subStatusCode="100" prefixLanguageFilePath="" path="/error.asp" responseMode="ExecuteURL" />
</httpErrors>

一个简单的 error.asp 可能看起来像这样:
<%@ Language=VBScript %>
<%
Option Explicit
On Error Resume Next
Response.Clear
Dim objError, MessageBody
Set objError = Server.GetLastError()

Response.Write objError.ASPCode & "<br />"
Response.Write objError.Number & "<br />"
Response.Write objError.Description & "<br />"
%>

我的问题的关键似乎是 On Error Resume NextResponse.Clear .

我在 Creating Custom ASP Error Pages 上找到了解决方案Microsoft 知识库文章 (Q224070)。

关于iis-7 - ASPError 对象在我的自定义错误页面上不包含任何数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4136006/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com