2017-12-08 2 views
1

Ich bekomme AntiForgery-Fehler auf Produktionsserver intermittierend. Details: -Intermittierendes Problem von HttpAntiForgeryException on Production only

  • Problem trat nur auf Login-Seite neu zu laden Nachdem es funktioniert
  • Ausgabe intermittierend ist
  • Formularauthentifizierung verwendet wird und Standort wird auf einzelnen Server bereitgestellt.

System.Web.Mvc.HttpAntiForgeryException (0x80004005): Die Fälschungs Cookie-Token und Formularfeld-Token nicht übereinstimmen. Schritte zu produzieren: - * angemeldet Website * es für lange offen verlassen oder die browse * Öffnen Sie die Login-Seite wieder nach 1-2 Stunden schließen .. Sie diesen Fehler von Antifälschungs Token erhalten kann " Das Anti-Fälschungs-Token und das Formularfeld-Token stimmen nicht überein. " Aber es ist nicht garantiert, dass wir auf Fehler stoßen. Wir bekommen nur zeitweise einen Fehler, der behoben wird, sobald sich der Benutzer erneut anmeldet.

Ich versuchte so viele Optionen, konnte aber das Problem nicht lösen.

+0

Maschinenschlüssel ist nicht konfiguriert, da Website auf Einzelserver bereitgestellt wird –

Antwort

0

Der Grund für diesen Fehler kann sein 1. Sie haben den Server an einem neuen Speicherort oder 2. Sie haben den IIS zurückgesetzt, während die Anwendung noch für einige Client verwendet wird (weil auf Reset generiert es eine neue Token für diese Sitzung)

+0

Problem bei der Produktion Website, App-Pool wird nicht in dieser Dauer wiederverwendet .. seine intermittierende .. An der Website angemeldet schließen Sie den Browser und Öffnen Sie die Login-Seite wieder nach 1-2 Stunden .. Sie können diesen Fehler der Anti-Fälschung erhalten .. Aber es ist nicht garantiert, dass Sie den Fehler erhalten –

+0

@ashishmssra haben Sie Ereignisprotokolle überprüft, um das zu überprüfen? Möglicherweise haben Sie kein Recycling konfiguriert, aber eine nicht behandelte Ausnahme wird dazu führen. Eine andere Möglichkeit ist, dass AV eine Datei verursacht, die als modifiziert angesehen wird und eine Wiederverwertung verursacht. – Andy

+0

@Andy: Login-Post-Aktion wird von Anti-Forgery-Attribut eingerichtet und ich überprüfte den Log-Server, aber gemäß den Protokollen wurde auch die erste Zeile der Login-Aktion nicht ausgeführt und im Protokoll bekommen Antiforgery Ausnahme. Es bedeutet, dass unsere Login-Methode nicht schuld ist. Gemäss den Logs wurde die Aktion login (post) aufgerufen. Ich werde versuchen, die Ereignisprotokolle auch auf dem Server zu überprüfen. Eine weitere Sache .. jedes Stück Code ist in try catch Block und Logger in catch-Block eingehüllt, so dass, wenn Ausnahme aufgetreten ist, wo es geloggt wird. –

Verwandte Themen