【问题标题】:How do I stop iisnode on Windows Server 2019 from caching my javascript files?如何阻止 Windows Server 2019 上的 iisnode 缓存我的 javascript 文件?
【发布时间】:2020-06-25 03:20:30
【问题描述】:

我有一个在 iisnode 上运行的 node.js 应用程序,该应用程序在 Windows Server 2019 上运行的 IIS 10 上运行。

在其中一层,似乎有一些 javascript 文件的缓存。例如,在我的 app.js 文件中,我有这个:

fs.appendfilesync('log.txt', 'CORS set up.\n');

...这给了我错误:

appendfilesync is not a function.

我意识到我有一个错字:它应该是驼色的。所以我把它改成:

fs.appendFileSync('log.txt', 'CORS set up.\n');

但它一直给我同样的错误,甚至在文件中指定完全相同的行和列。

我知道服务器上发生了缓存,因为错误已记录到 iisnode 的日志中,而且我将其放置一天,第二天再试一次,错误不再发生。

当我尝试修复服务器上的问题并且我无法测试我的修复时,这非常令人沮丧,因为它顽固地不会更新缓存。

如何强制 iisnode、IIS 或 Windows Server 2019(无论哪一个进行缓存,如果不超过一个)清除缓存或不缓存?

谢谢。

【问题讨论】:

  • 如果您的问题得到解决,那么我请求您将有用的建议标记为答案。这将帮助面临同样问题的其他人。

标签: caching iis-10 iisnode windows-server-2019


【解决方案1】:

请确保您已将 iis_iusrs 和 iusr 完全控制权限分配给 log.txt 文件。

要在 iis 中禁用缓存,您可以按照以下步骤操作:

1) 使用输出缓存:

  • 在 iis 中选择您的网站。

  • 在中间窗格中双击输出缓存功能。

  • 单击操作窗格中的编辑功能设置。

  • 取消选中启用缓存和启用内核缓存。

2)clientCache:

  • 打开 Internet 信息服务 (IIS) 管理器选择您的站点。

  • 在“主页”窗格中,双击 HTTP 响应标头。

  • 在“设置通用 HTTP 响应标头”对话框中,选中使 Web 内容过期的复选框,选择在特定时间间隔或特定时间后过期的选项,然后单击“确定”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 2011-11-16
    • 2023-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多