SQL 异常破坏了 IIS 请求管道
我的 MVC3 应用程序让 IIS 变得疯狂。我也是。
如果发生 SQLException(即缺少存储过程)请求管道中断,用户会看到“抱歉,处理您的请求时发生错误”,事件查看器中不会记录任何内容。请求跟踪绝对不会提供有用的信息,但您可以此处查看。有趣的部分是第 6448 行,其中错误代码是“操作成功完成”。
现在这里是有趣的部分:
- 我的机器 win7 64 位 - 按预期工作,YSOD 显示
- 我的一台托管计算机 win2008 Web 服务器 32 位 - 按预期工作,YSOD 显示
- 客户端的托管计算机 win2008 R2 服务器核心 64 位 - 管道中断如所述上面
- (用于测试目的)客户端的主机 win2008 Web 服务器 64 位 - 管道中断如上所述
更新:这个问题不仅限于 SQLException。任何异常,即抛出新的异常(“Bla”)将破坏管道,如上所述。
I have MVC3 app that is making IIS go crazy. And me too.
If SQLException happens (ie stored procedure is missing) request pipeline breaks, user sees "Sorry, an error occurred while processing your request", nothing is logged in event viewer. Request tracing gives absolutely no useful info but you can take a look here. Interesting part is on line 6448 where error code is "The operation completed successfully".
Now here is the fun part:
- my machine win7 64bit - works as expected, YSOD is shown
- one of my hosting machines win2008 web server 32bit - works as expected, YSOD is shown
- client's hosting machine win2008 R2 server core 64 bit - pipeline breaks as described above
- (for testing purposes) client's hosting machine win2008 web server 64 bit - pipeline breaks as described above
UPDATE: this problem is not limited to SQLException. ANY Exception ie throw new Exception("Bla") will break pipeline as described above.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我认为这是因为您的控制器中的某个位置可能有属性
[HandleError]
。此属性始终捕获未捕获的异常并显示默认的 Error.cshtm 视图,该视图可以在您的共享文件夹中找到。有关详细信息,请参阅此相关答案。
问候。
I think that is because you probably have the attribute
[HandleError]
somewhere in your controllers.This attribute always catches uncaught exceptions and displays the default Error.cshtm view which can be found in your shared folder.For more info see this related answer.
Regards.