.net core UseResponseCompression 在放置 Vary header 值时与 ResponseCache 属性冲突

.net core UseResponseCompression conflicts with ResponseCache attribute when putting Vary header values

我通过调用在我的 .Net Core API 应用程序中使用响应压缩中间件 app.UseResponseCompression()。 但是在我的 API 控制器操作之一中,我还使用了 ResponseCache 属性并将其设置为 VaryByHeader = Authorization 但是我得到的响应只得到 header Vary: "Accept-Encoding" 这似乎是由响应压缩中间件放在那里的。 如果我删除中间件,则会显示 Vary: Authorization,所以我猜测中间件与 ResponseCache 属性冲突。

我如何才能在 vary Header 上获得授权,同时还能使用响应压缩中间件?

显然,如果将 ResponseCache 属性与 UseResponseCompression 中间件一起使用,我必须同时为 VaryByHeader 值添加 "Accept-Encoding" 和 "Authorization" 才能同时获得它们。我不确定为什么会这样。

我将它们作为逗号分隔值,即 "Accept-Encoding, Authorization" 用于 ResponseCache 属性的 VaryByHeader 属性。