Я пытаюсь переопределить cache-control
заголовок, установленный по умолчанию для защиты от подделки ядра asp.net 2.0
.net core всегда устанавливает его на no-cache, no-store
. Я пытаюсь использовать private
, который на самом деле работает, как я хотел. no-cache, no-store
, кажется, не всегда срабатывает, из-за чего я иногда получаю какую-то ошибку antiforgery token was meant for ... user..
. Какая настройка от cache-control
до private
, кажется, решает.
Но ядро .net не позволяет мне переопределить значение по умолчанию cache-control
, установленное антиподделкой.
Я пробовал следующее:
public async Task<IActionResult> Login(string returnUrl)
{
HttpContext.Response.Headers.Append(Microsoft.Net.Http.Headers.HeaderNames.CacheControl, "private");
....
}
Также
public class NoCacheAttribute : ActionFilterAttribute
{
public override void OnResultExecuting(ResultExecutingContext context)
{
// tried both
//context.HttpContext.Response.Headers.Add(HeaderNames.CacheControl, "private");
//context.HttpContext.Response.Headers[HeaderNames.CacheControl] = "private";
}
}
Примечание: использование только для http прямо сейчас