【发布时间】:2019-12-10 05:06:14
【问题描述】:
我有一个 C#/Angular 网站,每隔几周就会更新一次版本。但是,有些用户没有获得新版本,这会导致网站出现问题。我似乎找不到明确的答案。我应该怎么做才能解决这个问题?
据我了解,我的选择是:
将版本参数附加到由 Visual Studio 构建生成的所有 .JS 文件的末尾,这将强制重新下载文件
将 Angular 登录令牌设置为 24 小时后失效,然后调用方法清除 c# 端的缓存
[ResponseCache(NoStore=true,Duration=1)]并在更新令牌时调用方法将其设置回来。
更多信息
据我所知,Angular 中启用了缓存。我正在构建一个发布配置,它在 package.json 中:
"start": "ng serve",
"build": "ng build",
"build:ssr": "npm run build -- --app=ssr --output-hashing=media",
【问题讨论】:
-
角度生产构建应该将选项
outputHashing设置为 true,这会将缓存破坏哈希添加到所有捆绑包。您能否确认已为您启用此功能? -
@xdecdec 我用 package.json 中的行更新了帖子。这有帮助吗?如果您需要更多信息,请告诉我!谢谢!
-
如果将其设置为 --output-hashing=all 可以解决您的问题,您可以尝试一下吗?这也应该将缓存清除应用于您的 js 文件,这意味着您用户的浏览器将始终加载最新版本
标签: c# angular caching browser-cache