如何设置 web.config 文件以显示完整的错误消息

Posted

技术标签:

【中文标题】如何设置 web.config 文件以显示完整的错误消息【英文标题】:How to set web.config file to show full error message 【发布时间】:2012-07-24 19:19:10 【问题描述】:

我在 Windows Azure 上部署了我的 MVC-3 应用程序。但现在当我通过staging url 请求它时,它会显示(抱歉,处理您的请求时出错。)。现在我想查看完整的错误消息,由于某些安全原因,默认情况下它会隐藏它。我知道我们可以通过 web.config 文件来做到这一点。但是怎么做呢?

【问题讨论】:

【参考方案1】:

不确定它是否适用于您的方案,但请尝试将以下内容添加到您的web.config 下的<system.web>

<system.web>
    <customErrors mode="Off" />
    ...
</system.web>

适用于我的实例。

另见:

CustomErrors mode="Off"

【讨论】:

另外在System.webServer中添加以下内容>添加【参考方案2】:

这还可以通过在客户端浏览器上显示错误的完整详细信息来帮助您。

<system.web>
    <customErrors mode="Off"/>
</system.web>
<system.webServer>
    <httpErrors errorMode="Detailed" />
</system.webServer>

【讨论】:

更多详情见customErrors Element (ASP.NET Settings Schema) 见httperrors 见the difference between customErrors and httpErrors 这比公认的答案要好,因为大多数开发人员希望看到细节而不是没有细节的 YSOD。【参考方案3】:

如果您使用的是 ASP.NET MVC,您可能还需要从 Global.asax.cs 文件中删除 HandleErrorAttribute

public static void RegisterGlobalFilters(GlobalFilterCollection filters)

    filters.Add(new HandleErrorAttribute());

【讨论】:

以上是关于如何设置 web.config 文件以显示完整的错误消息的主要内容,如果未能解决你的问题,请参考以下文章

如何保护存储在 web.config 中的密码?

如何在不更改web.config文件中的URL的情况下重定向域?

“web.config”配置文件在哪?

web。config中如何修改sessionstate 模式设置

转载Web.config 常用节点配置 (新手必看)

以编程方式访问 web.config 的 <compilation /> 部分?