Aspnetcore: Antwortcache funktioniert nicht für die Ansicht, die Formularelemente enthält

Erstellt am 17. Apr. 2018  ·  3Kommentare  ·  Quelle: dotnet/aspnetcore

Der Antwortcache funktioniert nicht mit der folgenden Methode, die eine Ansicht mit einem Formularelement zurückgibt. Wenn das Formularelement aus der Ansicht entfernt wird, funktioniert der Antwortcache. warum passiert es?

```
[Route("Kontakt")]
[ResponseCache(Duration = 3600)] //Funktioniert nicht für diese Methode
öffentlicher IActionResult Contact()
{
Ansicht() zurückgeben;
}

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

```

Hilfreichster Kommentar

Das Anti-Fälschungs-Token im Formular ist an ein Cookie angehängt und sollte nicht zwischengespeichert werden, da es sonst aus dem Takt geraten könnte.

Alle 3 Kommentare

Sehen Sie sich die Antwortheader an. Geschieht dies, weil das Formular Anti-Forgery aktiviert hat, das immer No-Cache-Header setzt?

@Tratcher Ja! Anti-Forgery wurde aktiviert und deshalb funktionierte der Antwortcache nicht. Meine Frage ist, warum der Antwortcache nicht funktioniert, wenn Anti-Forgery aktiviert ist?

Das Anti-Fälschungs-Token im Formular ist an ein Cookie angehängt und sollte nicht zwischengespeichert werden, da es sonst aus dem Takt geraten könnte.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen