【发布时间】: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