Aspnetcore: O cache de resposta não funciona para a exibição que contém o elemento do formulário

Criado em 17 abr. 2018  ·  3Comentários  ·  Fonte: dotnet/aspnetcore

O cache de resposta não funciona no método a seguir, que retorna a visualização contendo um elemento do formulário. Se o elemento do formulário for removido da visualização, o cache de resposta funcionará. porque isso está acontecendo?

`` `
[Rota ("Contato")]
[ResponseCache (Duration = 3600)] // Não funciona para este método
contato público IActionResult ()
{
return View ();
}

[HttpPost]
[Route("Contact")]
public IActionResult Contact(ContactViewModel contactViewModel, IFormFile attachment)
{
    //Necessary opertaion goes here
    return
    View(contactViewModel);
}

`` `

Comentários muito úteis

O token anti-falsificação no formulário é anexado a um cookie e não deve ser armazenado em cache, caso contrário, eles podem ficar fora de sincronia.

Todos 3 comentários

Observe os cabeçalhos de resposta. Isso está acontecendo porque o formulário tem o anti-falsificação ativado, que sempre define cabeçalhos sem cache?

@Tratcher Sim! o anti-falsificação foi ativado e é por isso que o cache de resposta não estava funcionando. Minha pergunta é por que o cache de resposta não funciona quando o anti-falsificação está ativado?

O token anti-falsificação no formulário é anexado a um cookie e não deve ser armazenado em cache, caso contrário, eles podem ficar fora de sincronia.

Esta página foi útil?
0 / 5 - 0 avaliações