Can';无法在ASP.NET MVC网站中获取详细的错误信息
我刚刚在我们的登台服务器上部署了一个ASP.NETMVC3应用程序。无论何时发生错误,我都无法获得详细的错误信息,即“死亡黄屏”。相反,我只会收到一条简单的“对不起,在处理您的请求时发生了错误”消息 My Web.config不包括customErrors off,即: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> ... &
<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提要
<customErrors mode="Off"/>