c# - 哪种缓存方法适合新版本的网站?
问题描述
我有一个 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",
解决方案
使用 serviceworker 缓存数据并通知用户新的更新。
在您的 Angular 项目中运行 ng add @angular/PWA,这会将 Angular Service Worker 添加到您的项目中。
推荐阅读
- spring-boot - 刷新后如何向 RefreshScope 注册 RestController
- javascript - 如何在同一字符的第 n 次和第 n 次出现之间获取
- java - Linux 上的 Intellij:菜单:jdk > javap 选项
- java - 从 recyclerView 的特定位置删除项目
- android - android 我的列表视图不显示所有项目
- java - 修复解析 SeekBarVolumizer 类,因为它不包含在 android sdk 中
- sql - 如何旋转我的 SQL 查询中的两列
- ruby-on-rails - 如何在 Fast Json Api 或 Active Model Serializer 中为 STI 模型提供 2 个不同的序列化器
- wordpress - 带有特定关键字的 RSS 提要
- python - 当我使用 imputer=imputer.fit(X[:, 1:3]) ValueError: could not convert string to float 时出现错误: