1.安装nuget包
Marvin.Cache.Headers
2.startup.cs
//ConfigureServices
services.AddHttpCacheHeaders(expires=> {
expires.MaxAge = 60;
expires.CacheLocation = Marvin.Cache.Headers.CacheLocation.Private;//保存数据boby
}, validation => {
validation.MustRevalidate = true;//响应过期 重启验证
}
);
//Configure
app.UseHttpCacheHeaders();
//在 app.UseRouting();app.UseAuthorization();之上
3.controllers
[HttpCacheExpiration(CacheLocation = CacheLocation.Public)]
[HttpCacheValidation(MustRevalidate = true)]
4.GET请求
get请求携带If-None-Match(程序会判断内容是否改变,改变:重新发送api请求;未改变:返回304)请求头
乐观并发
在put patch请求是携带请求头 If-Match 即可实现乐观并发