gpt4 book ai didi

ASP.NET 自定义错误页面 - Server.GetLastError() 为 null

转载 作者:行者123 更新时间:2023-12-02 09:19:59 26 4
gpt4 key购买 nike

我为我的应用程序设置了自定义错误页面:

<customErrors mode="On" defaultRedirect="~/errors/GeneralError.aspx"
/>

在 Global.asax 的 Application_Error() 中,以下代码用于获取异常详细信息:

  Exception ex = Server.GetLastError();
if (ex != null)
{
if (ex.GetBaseException() != null)
ex = ex.GetBaseException();
}

当我到达错误页面 (~/errors/GeneralError.aspx.cs) 时,Server.GetLastError() 为 null

有什么方法可以在错误页面上获取异常详细信息,而不是在 Global.asax.cs 中?

Vista/IIS7 上的 ASP.NET 3.5

最佳答案

更仔细地查看我的 web.config 设置,this post is very helpful 中的评论之一

in asp.net 3.5 sp1 there is a new parameter redirectMode

所以我们可以修改customErrors来添加这个参数:

<customErrors mode="RemoteOnly" defaultRedirect="~/errors/GeneralError.aspx" redirectMode="ResponseRewrite" />

ResponseRewrite 模式允许我们在不重定向浏览器的情况下加载“错误页面”,因此 URL 保持不变,对我来说重要的是,异常信息不会丢失。

关于ASP.NET 自定义错误页面 - Server.GetLastError() 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/343014/

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