2

我在默认缓存位置 = ResponseCacheLocation.Any 的操作方法上有一个 [ResponseCache] 属性。但在少数情况下,我只想将此属性覆盖到 ResponseCacheLocation.Client。

有没有比使用 Response.Headers.Add 更好的方法来覆盖操作方法代码中的属性?(甚至不确定它是否会起作用)

在单元测试中使用 DefaultHttpContext 我可以访问 GetTypedHeaders,但我无法从控制器中的真实响应中访问此方法。

4

1 回答 1

1

我可以通过以下方式确认[ResponseCache]可以在操作方法中覆盖该属性:

HttpContext.Response.Headers["Cache-Control"] = "private,no-cache, no-store, max-age=0";

但是,我认为没有更好的方法来处理这种“规则例外”。

于 2021-02-19T12:47:24.363 回答