【问题标题】:Azure website not refreshing after publish from Visual Studio从 Visual Studio 发布后 Azure 网站不刷新
【发布时间】:2018-12-10 03:43:08
【问题描述】:

我正在构建具有一些视图和大量公共 REST API 的 Node.JS 应用程序。每当我对编写业务​​逻辑并尝试发布它们的 JS 文件(控制器或路由)进行更改时,Visual Studio 向导都会显示正确的差异,并且发布结束后我可以在服务器文件系统上看到修改后的文件(使用 Kudu 调试控制台) 但是当我使用 POSTMAN 访问 API 时,我看到了旧的响应。我尝试发送带有 Cache-Control: no-cache 标头的请求,但响应相同。

但是当我停止并再次启动服务时,我开始根据我的最新代码获得更新的响应。看起来像正在运行的 Azure 网站或 iisnode 缓存代码,知道如何避免/破坏该缓存,以便在发布后立即执行最新代码并且不需要重新启动?

【问题讨论】:

    标签: node.js visual-studio azure visual-studio-2015 iisnode


    【解决方案1】:

    您可以使用 web.config 文件中 iisnode 元素上的 watchedFiles 属性通过 IISNode 自动回收站点。

    watchedFiles:将被监视的文件的分号分隔列表 进行更改以重新启动服务器。

    例如,Web.config 中的以下 iisnode 元素将在 web.config 更改或任何 .js 更改时回收站点应用顶层文件夹中的文件。

    <iisnode watchedFiles="web.config;*.js"/>
    

    更多信息可以参考https://github.com/projectkudu/kudu/wiki/Using-a-custom-web.config-for-Node-apps

    【讨论】:

    • 感谢 @Aaron 提供这些详细信息,但我的 Web.config 文件中已经有 &lt;iisnode watchedFiles="web.config;*.js;routes\*.js;views\*.jade" loggingEnabled="true" devErrorsEnabled="true" nodeProcessCommandLine="node.exe --debug" /&gt;,并且我对根目录和路由目录中 js 文件的更改仍未刷新。
    • 这对我有用。我在 web.config 的 hte iisnode 标记中包含了未更新的文件夹。谢谢!
    【解决方案2】:

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

    【讨论】:

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