Auf Seiten mit einem Viewstate, der 10-15 KB umfasst, wäre ein optimaler Wert für
<pages maxPageStateFieldLength="">
in der Datei web.config, um das Risiko einer möglichen Kürzung zu reduzieren, die zu Prüfstatusüberprüfungsfehlern führt?
Der maxPageStateFieldLength
begrenzt die Größe des Ansichtszustands nicht, daher wird er nicht abgeschnitten.
Was es tut, ist einfach zu steuern, wie viel des Ansichtszustands in einem versteckten Feld platziert wird. Wenn der Ansichtszustand größer als der maxPageStateFieldLength
-Wert ist, wird der Ansichtszustand einfach in mehrere versteckte Felder aufgeteilt.
Der Standardwert ist -1
, was bedeutet, dass der Ansichtszustand in ein einzelnes verstecktes Feld eingegeben wird, das normalerweise am optimalsten ist.
Ich stoße gerade auf ein Problem, bei dem wir "HttpException wegen ungültiger Viewstate" -Fehler nur für Firefox-Benutzer bekommen. Ich sehe auch "System.Web.HttpException: Bei der Kommunikation mit dem Remote-Host ist ein Fehler aufgetreten. Der Fehlercode ist 0x80070001" Ausnahmen mit den Viewstate Pairings.
Ich glaube, dass Firefox möglicherweise eine maximale Größe auf (möglicherweise) versteckten Formularfeldern hat - ich muss dies überprüfen. Ich versuche jetzt, den Viewstate unter Verwendung von maxPageStateFieldLength aufzubrechen, um hoffentlich (kurzfristig) aufzulösen. Die längerfristige Lösung besteht darin, die ASPX-Seite neu zu strukturieren, um eine Paging-Abfrage für das Grid durchzuführen (anstatt alle Zeilen auf einmal abzureißen - was nicht gut ist).
IMHO, sollten Sie ein Maximum, das ist ziemlich groß, aber nicht unbegrenzt. Ich würde sagen, 1 MB ist ein Anfang.