【问题标题】:Take an MVC web site offline and back online使 MVC 网站脱机并重新联机
【发布时间】:2014-01-03 19:55:13
【问题描述】:

我正在寻找一种通过消息使网站脱机的方法。我知道 app_offline.htm,但我想以编程方式进行。

脱机很容易。我可以在 root 上生成 app-offline.htm,但是当我希望网站重新上线时,这是不可能的,因为所有服务都已关闭,包括图像。

我的项目使用 MVC (C#)。现在,我将站点状态存储在 SQL Server 数据库中的位字段中。

【问题讨论】:

  • 感谢 Josh 的极致编辑并拯救了我的魅力 :)

标签: asp.net-mvc asp.net-mvc-5 app-offline.htm


【解决方案1】:

我找到了一种使用 global.asax 的方法,但我想看看其他解决方案...

    void Application_BeginRequest(object sender, EventArgs e)
    {
        if ((bool) Application["SiteOpenService"] == false)
        {
            if (!Request.IsLocal)
            {
                HttpContext.Current.RewritePath("/Site_Maintenance.htm");
            }
        }
    }

参考:

http://www.codeproject.com/Tips/219637/Put-the-website-in-Maintanance-Mode-Under-Construc

【讨论】:

  • 这是我的建议。您实际上是在 HTTP 管道的早期检查请求,然后对某个布尔值进行操作。对我来说似乎是正确的。
  • 这似乎是 MVC 中 app_offline.htm 问题的一个很好的解决方法。我使用了你的方法,但是,我使用 web.config -> appSettings 来配置应用程序状态(相对于数据库),例如<add key="SiteOpenForService" value="false"/>。如果此键存在且为假,我会绕过许多其他配置,并像您的示例一样提供静态 .htm 页面。再次感谢您让我到达那里。
猜你喜欢
  • 2011-11-23
  • 1970-01-01
  • 1970-01-01
  • 2011-02-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多