【问题标题】:Prevent iisnode from caching require'd static files防止 iisnode 缓存所需的静态文件
【发布时间】:2016-02-11 00:10:37
【问题描述】:

我在 Node 上运行了一个 RESTful API,它对服务器磁盘上的静态文件进行操作。如果我在 Node 上运行服务(通过命令行),我可以对我的静态文件集合执行所有 CRUD 操作,并接收对我的 HTTP 请求的预期 HTTP 响应。

但是,当我使用相同的服务并通过 iisnode 将其托管在 IIS 上时,我的 GET 请求似乎返回了文件的缓存版本。也就是说,如果我通过 REST 服务编辑文件,我可以远程进入服务器并确认更新已完成,但如果我通过 RESTful API 请求文件,我会收到旧版本。

我尝试了以下方法,但没有一个对我有用:

  • 弹跳 IIS。
  • 在 Web IIS Web 应用程序上禁用“缓存”和“内核缓存”输出缓存。
  • 在 Cache-Control 标头中指定 no-cache。
  • 删除使用 iisnode 拦截器的配置。

非常感谢有关如何防止 iisnode(或 iis)缓存我的静态文件的任何想法。

【问题讨论】:

    标签: node.js rest caching iis iisnode


    【解决方案1】:

    找到了解决此问题的方法。该解决方案是通过阅读this thread 得出的。解决方案包括:

    • 更新我的 iisnode 标记 watchFiles 属性值 以引用我想要触发 Node 进程重新启动的静态 (JSON) 文件。从<iisnode watchedFiles="*.js" /> 更改为<iisnode watchedFiles="*.js;relative/path/to/static files/*.json" />
    • 回收应用程序的应用程序池。此步骤未记录在线程中,我怀疑是其他人在使解决方案正常工作时遇到问题的原因。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-02
      • 1970-01-01
      • 2012-01-09
      • 2019-07-12
      • 2016-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多