Viewstate ungültig nur in Safari

stimmen
11

Eine der Seiten , die ich halten stützt sich stark auf die Verwendung von ViewState(es ist nicht mein Code). Jedoch auf bestimmte Seiten , wo das ViewStateist außer aufgebläht, wirft Safari einen Validation of viewstate MAC failedFehler.

Dies scheint nur in Safari zu passieren. Firefox, IE und Opera alle Lasten erfolgreich in dem gleichen Szenario.

Veröffentlicht am 04/08/2008 um 13:38
quelle vom benutzer
In anderen Sprachen...                            


3 antworten

stimmen
4

Während ich die Kanal zweite 9-Lösung, auch darüber im Klaren sein, dass in einigen gehosteten Umgebungen Safari ist keine up-Level-Browser betrachtet. Sie können es auf Ihre Anwendung browscap um hinzufügen müssen, um die Verwendung einiger ASP.Net-Funktionen zu machen.

Das war die Ursache für einige Kopfschmerzen wir für eine Client-Seite hatte, der die ASP Menüsteuerung verwendet.

Beantwortet am 04/08/2008 um 14:44
quelle vom benutzer

stimmen
3

Mein erster Ansprechpartner durch die Elemente auf der Seite zu gehen und sehen, welche steuert:

  1. Wird immer noch funktionieren, wenn ich Viewstate ausschalten
  2. Kann aus der Seite und in einen AJAX-Aufruf bewegt wird geladen werden, wenn erforderlich

in Ermangelung eines solchen, und hier ist der Haftungsausschluss - Ich habe noch nie diese Lösung auf einer Web-gerichtete Seite verwendet - aber in der Vergangenheit, wo ich wollte, habe massiven ViewStates in limitierter Publikum Anwendungen beseitigen habe ich die Viewstate in der Session gespeichert.

Es hat für mich gearbeitet, weil der Hit in dem Speicher für die Anzahl der Benutzer nicht von Bedeutung ist, aber wenn man einen ziemlich beliebten Ort laufen würde ich diesen Ansatz nicht empfehlen. Wenn jedoch die Session Lösung für Safari funktioniert können Sie immer die User-Agenten erkennen und entsprechend frisieren.

Beantwortet am 04/08/2008 um 14:00
quelle vom benutzer

stimmen
1

Ich habe ein wenig Forschung in das getan, und während ich bin nicht ganz sicher seine Ursache Ich glaube, es liegt daran, dass Safari nicht die vollständige Ergebnismenge (und somit beschneiden es).

Ich habe mit einem anderen Entwickler in dicussion gewesen und fand die folgende Post auf Channel 9 als auch die Verwendung des SQL-Statusdienstes empfiehlt, den Ansichtszustand zu speichern, das Postbacks Problem zu vermeiden und auch die Seitengröße.

http://channel9.msdn.com/forums/TechOff/250549-ASPNET-ViewState-flawed-architecture/?CommentID=270477#263702

Scheint dies wie die beste Lösung?

Beantwortet am 04/08/2008 um 13:40
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more