【问题标题】:When to load database drive configuration settings in ASP.NET?何时在 ASP.NET 中加载数据库驱动器配置设置?
【发布时间】:2013-05-21 06:47:55
【问题描述】:

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

这种方法的问题是,如果数据库不可用,就会出现完全未处理的异常。由于代码设置在 Application_Start,RequestResponse 不可用。

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

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

【问题讨论】:

    标签: asp.net asp.net-mvc-4


    【解决方案1】:

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

    那就好好处理吧。你可以在你的代码中实现一些重试策略,这样如果结果没有缓存在内存中,它会再次从数据库中获取它。

    【讨论】:

    • 我希望有更好的解决方案。我想得越多,我们的应用程序将受益于将所有初始化内容移动到可以捕获异常并将结果显示给用户的地方。 Application_Start 不是进行这种初始化的地方。
    【解决方案2】:

    关于错误处理的优秀文章可以在http://blog.gauffin.org/2011/11/how-to-handle-errors-in-asp-net-mvc/#.UZsZ6LVTAus找到 .并且jgauffinWhat is best practice for global error/exception handling in ASP.NET MVC? 也有一个讨论主题

    希望对您有所帮助。

    【讨论】:

    • 谢谢。我们现在有一个很好的方法,无论是在 BLL/DAL (log4net) 和 web 应用程序 (elmah) 中。我的问题是在 Application_Start 进行初始化时,您没有适当的错误处理能力。
    猜你喜欢
    • 1970-01-01
    • 2011-10-19
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 2013-11-27
    • 2012-12-01
    相关资源
    最近更新 更多