asp.net-core - 通过中间件在 asp.net 核心中的 NoCache、NoStore 和 must-revalidate 缓存标头
问题描述
我正在尝试在我添加了以下中间件的 asp.net core 3.1 的 web api 项目中添加 no-store must-revalidate no-cache
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime applicationLifetime)
{
if (env.IsDevelopment())
{
//app.UseDeveloperExceptionPage();
app.UseExceptionHandler("/error-local-development");
}
else
{
app.UseExceptionHandler("/error");
}
app.Use((context, next) =>
{
context.Response.GetTypedHeaders().CacheControl =
new Microsoft.Net.Http.Headers.CacheControlHeaderValue()
{
NoCache = true,
NoStore = true,
MustRevalidate = true
};
if (context.Request.Headers.TryGetValue("X-Forwarded-Prefix", out var value))
context.Request.PathBase = value.First();
return next();
});
.....
}
但是在我的 api 响应头上就像
access-control-allow-origin: *
cache-control: no-storemust-revalidateno-cache
content-type: application/json; charset=utf-8
date: Fri12 Mar 2021 12:23:06 GMT
server: Microsoft-IIS/10.0
transfer-encoding: chunked
x-powered-by: ASP.NET
任何人都可以帮助为什么要连接 headervalue 以及如何在它们之间添加空格
解决方案
PROblem 在 swagger ui 响应界面中。看起来它跳过了逗号。感谢 Fei Han 提示测试另一个项目
推荐阅读
- javascript - 从 <"img"> 发送 img 文件到 .net 控制器
- oauth-2.0 - 使用 keycloak 限制单个领域中的客户端访问
- arrays - 在python中逐行读取.dat文件
- jenkins - Api Jenkins 获取选择参数列表
- iis - 仅当 url 中没有路径时使用正则表达式进行 URL 重定向
- javascript - 如何在 setupTests 中覆盖 Jest 模拟
- angular - ExpressionChangedAfterItHasBeenCheckedError invoking toastr in ngInit in Angular 6
- ios - SocketIOClient :操作无法完成。(Starscream.WSError 错误 1。)
- android - 如何平滑滚动到回收站视图中的特定位置(evant/binding-collection-adapter)
- c# - C#双精度不显示