【问题标题】:Azure Web App Code Not Updating After Publish Until Restart (VS2017)Azure Web App 代码在发布后直到重新启动(VS2017)才更新
【发布时间】:2017-10-20 00:52:04
【问题描述】:

我正在 Azure 应用服务环境中开发由多个 Web API 组成的多层 Web 应用程序。

最近升级到 VS2017 后,我注意到在我发布新代码(来自 VS)后,应用程序会随机更新失败。远程调试器将无法正确加载,旧代码将在发布后继续运行。

我在发布设置中选择“在目标位置删除其他文件”。

重新启动应用程序通常会暂时解决问题,但有时我必须停止并重新启动每个应用程序。

VS 或 Azure 中是否有任何新设置可能会影响此行为,或者某些内容无法正常工作?

【问题讨论】:

  • 如果您的 Web 应用程序使用本地缓存,您确实需要重新启动站点以获取最新更改。请检查您是否在应用程序设置中将 WEBSITE_LOCAL_CACHE_OPTION 的值设置为 Always。
  • 我没有设置本地缓存标志,因为我认为该功能不适用于 ASE 中的应用程序:stackoverflow.com/questions/36459551/…
  • 我创建了一个 ASE 并使用 VS 2017 向其部署了一个 Web 应用程序,但我无法重现该问题。如果问题再次出现,请从 kudu 调试控制台页面检查应用内容是否部署成功。托管在 ASE 中的 Web 应用 kudu 的 URL 格式为 https://[webapp-name].scm.[ase-name].p.azurewebsites.net/DebugConsole
  • 感谢您提供的信息,阿莫尔。我已与我的团队核实并确认我们所有的 ASE 应用程序都以这种方式运行。它从上周开始,偶尔发生。 Kudu 仪表板中是否存在任何明显的错误,还是我需要运行 powershell 命令?
  • 我可以确认没有在任何应用程序中调整缓存设置(WEBSITE_LOCALCACHE_ENABLED = False)。 D:\home\site\wwwroot\bin 中项目 .dll 文件上的“已修改”时间戳表示文件正在更新,但旧代码继续运行并且由于服务器端符号而无法命中断点与众不同。这种行为从上周开始,出现在所有 ASE 应用中。

标签: azure-web-app-service azure-app-service-envrmnt


【解决方案1】:

这对我有用: 在 VS 2017 中,右键单击项目并选择发布。 点击配置,如下图:

【讨论】:

    【解决方案2】:

    我在应用程序设置中为我的生产槽设置了 WEBSITE_LOCAL_CACHE_OPTION“始终”。当我创建一个新插槽时,我从生产插槽复制了设置 - 包括这个标志。必须为暂存关闭此功能。

    【讨论】:

      【解决方案3】:

      WEBSITE_DYNAMIC_CACHE 是一项新功能,出于某种原因,默认情况下已启用。

      在 Azure 门户中添加应用程序设置条目并将值设置为 0 似乎已经解决了问题。

      【讨论】:

      • 这不会取消缓存的性能优势吗?
      • 2021 年还在工作!
      【解决方案4】:

      该问题可能与您的 ASE 中的专用实例有关。如果您有支持计划,您可以提交支持请求。

      作为一种解决方法,您可以在您的 ASE 或新 ASE 中设置一个新的 Worker Pool 并在那里创建一个新的 Web 应用计划。之后,您可以将您的 Web 应用程序移至新的 Web 应用程序计划。您的 Web 应用程序将在新分配的实例上运行。它将解决与专用实例相关的问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-05-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-12-27
        • 2023-01-13
        相关资源
        最近更新 更多