【问题标题】:Website crashes post web.config changes网站在 web.config 更改后崩溃
【发布时间】:2018-05-17 12:14:19
【问题描述】:

我在 Azure VM 上部署了一个生产网站。

在生产部署期间,每当我对 web.config 进行更改时,在进行更改后,网站会在大约 30 分钟后关闭并自动恢复。

更改 web.config 文件的最佳方法是什么。

我的网站使用 Umbraco CMS v7.1 运行

请指教。

【问题讨论】:

  • 对 web.config 的更改意味着您站点的 IIS 进程将重新启动。这是正常行为。虽然 30 分钟让它再次恢复是可怕的。您在寻找什么类型的解决方案?
  • 是不是因为Umbraco在网站缓存,需要30分钟才能恢复网站?我应该首先避免这种情况
  • 您能不能将缓存与应用程序分开(即,放入 Redis 之类的键/值存储中),以便应用程序重启不会导致缓存失效?
  • 您能检查 umbraco 日志文件是否有任何问题吗?我在 Azure 上托管 Umbraco 已经有很长时间了,但之前没有经历过这种情况

标签: .net azure azure-web-app-service umbraco


【解决方案1】:

在生产部署期间,您不应更改 Web.config。如果你有不同的连接字符串用于开发和生产,你应该使用单独的配置文件。

如果您的 Web.config 看起来像这样:

<connectionStrings>
  <remove name="Db" />
  <add name="Db" connectionString="local database" />
</connectionStrings>

然后您可以创建一个Web.Release.config,在发布构建时转换连接字符串:

<connectionStrings>
  <add name="Db" connectionString="prod database" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</connectionStrings>

这样,您的本地数据库用于开发,您的生产数据库用于生产,而无需在部署期间更新/更改Web.config

有关该主题的更多阅读:
How to: Set Debug and Release Configurations
How to: Transform Web.config When Deploying a Web Application Project

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多