Как я могу позже переопределить свойство атрибута [ResponseCache] в методе действия?
У меня есть атрибут [ResponseCache] в методе действия с кешем по умолчанию Location = ResponseCacheLocation.Any. Но только в некоторых случаях я хочу переопределить это свойство на ResponseCacheLocation.Client.
Есть ли лучший способ переопределить атрибут в коде метода действия, чем использование Response.Headers.Add? (даже не уверен, что это сработает)
Используя DefaultHttpContext в модульном тесте, я могу получить доступ к GetTypedHeaders, но у меня нет доступа к этому методу из реального ответа в контроллере.
1 ответ
Я могу подтвердить, что
[ResponseCache]
Атрибут можно переопределить в методе действия следующим образом:
HttpContext.Response.Headers["Cache-Control"] = "private,no-cache, no-store, max-age=0";
Однако я не думаю, что есть лучший способ справиться с подобными «исключениями из правил».