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

Can';无法在ASP.NET MVC网站中获取详细的错误信息,asp.net,asp.net-mvc,error-handling,Asp.net,Asp.net Mvc,Error Handling,我刚刚在我们的登台服务器上部署了一个ASP.NETMVC3应用程序。无论何时发生错误,我都无法获得详细的错误信息,即“死亡黄屏”。相反,我只会收到一条简单的“对不起,在处理您的请求时发生了错误”消息 My Web.config不包括customErrors off,即: <system.web> <compilation debug="true" targetFramework="4.0"> <assemblies> ... &

我刚刚在我们的登台服务器上部署了一个ASP.NETMVC3应用程序。无论何时发生错误,我都无法获得详细的错误信息,即“死亡黄屏”。相反,我只会收到一条简单的“对不起,在处理您的请求时发生了错误”消息

My Web.config不包括customErrors off,即:

<system.web>
  <compilation debug="true" targetFramework="4.0">
    <assemblies>
      ...
    </assemblies>
  </compilation>
  <customErrors mode="off"/>
</system.web>

...
在这种情况下,我确切地知道潜在的错误是什么。(我忘了设置存储过程的权限。)但我真的想(重新)启用错误处理,以便快速找到这些错误。当然,为了安全起见,一旦我们真正上线,我会删除这个


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

您的
global.asax.cs
文件中可能有
HandleErrorAttribute
全局筛选器。拆下那条线

    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());
    }

“Off”必须正确大写

从“”:

区分大小写

因为标记必须是格式良好的XML, 子标签和属性区分大小写。标记名和属性 名称采用驼峰大小写,这意味着标记的第一个字符 名称为小写,并将任何后续名称的第一个字母连接起来 一个或多个单词是大写的。在大多数情况下,字符串属性值是 Pascal大小写,这意味着第一个字符为大写,第二个字符为 任何后续连接词的第一个字母为 大写。异常是true和false,它们总是小写的


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

检查你的服务器是否为你的网站使用相同的配置文件(如果部署到网站目录的配置文件相同)

一个更好的长期解决方案可能是添加到你的项目中,它会为你的web项目添加详细的日志记录

包括:

  • 记录几乎所有未处理的异常
  • 远程查看重新编码异常的整个日志的网页
  • 远程查看任何一个已记录异常的完整详细信息的网页,包括彩色堆栈跟踪
  • 在许多情况下,您可以查看ASP.NET为给定异常生成的原始死亡黄屏,即使customErrors模式已关闭
  • 每个错误发生时的电子邮件通知
  • 日志中最近15个错误的RSS提要
+1“记住,孩子们,你每天都在学习新的东西,即使你学的东西很蹩脚。”:)可能重复
<customErrors mode="Off"/>