我几乎不好意思问这个问题,但这里就是这样。昨天我正在测试一个应用程序,这个应用程序几个星期后即将投入生产,当时我的一个同事触发了一个不寻常的错误。基本上,她在数据库连接的同时视图迭代了一个IQueryable集合(在partialview中)。现在,对此负责的控制器有错误陷阱,我预计这会引发警告。但是,基本上发生的是黄色的.net错误页面显示错误发生的地方。现在,幸运的是这仍然在测试中,所以我们可以做出必要的修改来解决这个问题,而且这是一个真正的边缘案例,所以这种类型的错误可能永远不会发生。当数据库离线时在视图级别捕获错误
但是,有没有人有解决方案来捕捉这样的错误,并在这个事件中呈现一个合理的404页面?或者在我们的防守编程和try/catch块中可能忽略了控制器中的某些内容?
希望有人已经迈过这道坎前和天赋退出...
因此,您的模型强类型为IQuerable <>?它在视图上执行? – Martin 2010-09-09 13:26:34
Martin,是的,这正是场景 – 2010-09-09 18:19:01
那么为什么不在控制器中优化模型并捕获那里的错误,然后将IEnumerable <>或IList <>传递给模型? – Martin 2010-09-10 12:15:47