【问题标题】:Which caching method is appropriate for new version of website?哪种缓存方法适合新版本的网站?
【发布时间】:2019-12-10 05:06:14
【问题描述】:

我有一个 C#/Angular 网站,每隔几周就会更新一次版本。但是,有些用户没有获得新版本,这会导致网站出现问题。我似乎找不到明确的答案。我应该怎么做才能解决这个问题?

据我了解,我的选择是:

  1. 将版本参数附加到由 Visual Studio 构建生成的所有 .JS 文件的末尾,这将强制重新下载文件

  2. 将 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


【解决方案1】:

使用 serviceworker 缓存数据并通知用户有新的更新。

在您的 Angular 项目中运行 ng add @angular/PWA,这会将 Angular Service Worker 添加到您的项目中。

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 2018-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多