【问题标题】:How to put ASP.NET site offline if critical services are not available如果关键服务不可用,如何使 ASP.NET 站点脱机
【发布时间】:2011-08-17 05:56:27
【问题描述】:

如果数据库已关闭或数据库适配器丢失/加载失败等,您将如何使站点脱机?

我在 ASP.NET MVC 3 的上下文中询问,但这可以适用于任何 ASP.NET 站点。

假设您在 App_Start 附近的某个地方加载了一个程序集以进行数据访问,但该程序集丢失和/或其他原因失败。在这种情况下,该站点实际上无法运行。

我正在寻找一种体面/优雅的方式将网站置于“维护模式”,就像 App_Offline.htm 工作一样。

【问题讨论】:

  • 定义维护模式?只需将整个应用程序脱机?
  • 是的!维护模式使整个应用程序脱机,并且对于任何 Web 请求都会显示相同的网页,说明处于维护模式。

标签: asp.net asp.net-mvc asp.net-mvc-3 architecture


【解决方案1】:
catch (ReallyBadException ex) {
    Utilities.EmailAdministrator();
    File.Copy(@"c:\templates\App_Offline.htm", @"c:\path\to\website\App_Offline.htm");
}

【讨论】:

  • 哦...所以我无法逃避创建 App_offline.htm 文件
  • 您想要像App_Offline.htm 这样的东西,那么为什么不使用App_Offline.htm?你有什么反对的?在您看来,所谓的“维护模式”是什么样的?
  • 不,mellamokb,我不反对 :) 我只是想问是否会有更优雅、更简单或更直接的方法。如果这是理想的,那就是它! :)
【解决方案2】:

查看Circuit breaker pattern

可能对您来说太笼统了(我不确定您是在寻找概念解决方案还是特定于 ASP.NET),但它可以帮助您。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2011-05-02
  • 1970-01-01
  • 2021-06-20
  • 2017-01-21
  • 1970-01-01
  • 1970-01-01
  • 2023-04-10
  • 1970-01-01
相关资源
最近更新 更多