在应用程序启动时,我们的应用程序连接到数据库并获取语言转换表并将其缓存到内存中。执行此操作的代码放在Global.ascx
中的Application_Start中这种方法的问题在于,如果数据库不可用,则会出现完全未处理的异常。由于代码是在Application_Start中设置的,因此Request
和Response
不可用。
我想知道是否有一种通用的轻量级方法。
我的计划是实现一个单例来存储连接尝试的状态,然后在默认的路由页面上检查它。这是一个解决方案,但我觉得有些东西缺失了。还有其他方法吗?
答案 0 :(得分:3)
这种方法的问题在于,如果数据库不是 可用,将有一个完全未处理的例外。
然后好好处理它。您可以在代码中实现一些重试策略,这样如果结果没有缓存在内存中,它将再次从数据库中获取它。
答案 1 :(得分:2)