无法在ASP.NET MVC网站中获取详细的错误信息

Dav*_*eer 16 asp.net error-handling asp.net-mvc

我刚刚将一个ASP.NET MVC 3应用程序部署到了我们的登台服务器.每当发生错误时,我都无法获得详细的错误信息,即"黄色死亡屏幕".相反,我只是得到一个简单的"抱歉,处理您的请求时出错".信息.

我的Web.config 确实包含了customErrors,即:

<system.web>
  <compilation debug="true" targetFramework="4.0">
    <assemblies>
      ...
    </assemblies>
  </compilation>
  <customErrors mode="off"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我确切地知道底层错误是什么.(我忘了为存储过程设置权限.)但我真的想(重新)启用错误处理,以便我可以快速找到这些错误.当然,一旦我们出于安全原因实际上线,我将删除它.

还有哪些其他设置可以覆盖默认的ASP.NET错误处理?

Dav*_*eer 32

<customErrors mode="Off"/>
Run Code Online (Sandbox Code Playgroud)

"关",必须正确大写.

从" 编辑ASP.NET配置文件 ":

区分大小写

由于标记必须是格式良好的XML,因此标记,子标记和属性区分大小写.标记名称和属性名称是驼峰式的,这意味着标记名称的第一个字符是小写的,任何后续连接的单词或单词的第一个字母都是大写的.在大多数情况下,字符串属性值为Pascal-case,这意味着第一个字符是大写的,任何后续连接的单词或单词的第一个字母都是大写.例外是真和假,它们总是小写的.

记住孩子,你每天都学到新东西.即使你学到的东西是蹩脚的.

  • 为了"记住孩子,你每天都学到新东西.即使你学到的东西是蹩脚的." :) (13认同)

Era*_*nga 7

HandleErrorAttributeGlobal.asax.cs文件中可能包含全局过滤器.删除该行.

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }
Run Code Online (Sandbox Code Playgroud)