放入Vary标头值时,.net核心UseResponseCompression与ResponseCache属性冲突

时间:2019-04-18 05:52:51

标签: .net asp.net-mvc .net-core vary responsecache

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

如何在仍能使用响应压缩中间件的情况下如何获得变化标头上的授权?

1 个答案:

答案 0 :(得分:0)

显然,如果将ResponseCache属性与UseResponseCompression中间件一起使用,则必须同时为VaryByHeader值添加“接受编码”和“授权”。我不确定为什么会这样。

我将它们作为逗号分隔的值,即ResponseCache属性的VaryByHeader属性的“接受,编码,授权”。