Как я могу позже переопределить свойство атрибута [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";

Однако я не думаю, что есть лучший способ справиться с подобными «исключениями из правил».

Другие вопросы по тегам