响应缓存不适用于 Identity Server 4

问题描述

我的启动类配置如下:

public void ConfigureServices(IServiceCollection services)
{
    services.AddResponseCaching();    
    ...
}

public void Configure(IApplicationBuilder app)
{
    app.UseResponseCaching();
    ...
}

我的控制器是这样的:

[HttpGet]
[responsecache(Duration = 30)] //I normally have a policy here but used duration as an example
[Authorize("Policy_1")]
[Authorize(LocalApi.PolicyName)]
public IActionResult Get()
{
   ...
}

如果我在我的控制器方法添加一个断点并使用邮递员发送一个请求,断点就会被命中,我可以在响应头中看到缓存控制键:

enter image description here

如果我再次发送请求,就会命中断点(在持续时间内)。

但是,如果我从我的请求中删除 Authorize 属性和身份验证令牌,一切都会按预期工作。

已使用身份服务器 4 设置了身份验证和授权。

并且只是为了确认邮递员中的“发送无缓存标头”已关闭

那么,问题是我需要添加什么才能使响应缓存与身份服务器 4 一起使用?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)