0

在应用程序启动时,我们的应用程序连接到数据库并获取语言翻译表并将其缓存到内存中。执行此操作的代码放置在 Global.ascx 的 Application_Start 中

这种方法的问题是,如果数据库不可用,就会出现完全未处理的异常。因为代码设置在 Application_Start,Request并且Response不可用。

我想知道是否有一种通用的轻量级方法。

我的计划是实现一个单例来存储连接尝试的状态,然后在默认路由页面上检查它。这是一个解决方案,但我觉得缺少一些东西。还有其他方法吗?

4

2 回答 2

4

这种方法的问题是,如果数据库不可用,就会出现完全未处理的异常。

那就好好处理吧。您可以在代码中实现一些重试策略,以便如果结果未缓存在内存中,它将再次从数据库中获取它。

于 2013-05-21T06:55:51.630 回答
2

关于错误处理的优秀文章可以在http://blog.gauffin.org/2011/11/how-to-handle-errors-in-asp-net-mvc/#.UZsZ6LVTAus找到 。jgauffinASP.NET MVC 中全局错误/异常处理的最佳实践是什么

希望这有帮助。

于 2013-05-21T06:56:36.993 回答