2009-06-08 1 views
2

Namen nicht zu benennen, aber zum Beispiel gibt jeder Seitenaufruf auf allen Woot's forum pages (über vier Subdomains) einen versteckten __VIEWSTATE Wert zurück, der ungefähr 54KB groß ist.Ist die Art von ViewState, die auf Seiten wie Woot's Foren gesendet wird, ein Fehler?

<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTIxMDUyNjY3MjAPZBYCZg9kFgJmD2QWAmYPZBYEAgEPZBYCAgEPFQERLi4vQmxvZy9GZWVkLmFzaHh 
kAgMPFgIeBWNsYXNzBQljb21tdW5pdHkWCAIBDxYGHgRocmVmBRpodHRwOi8vc2hvcHBpbmcueWFob28uY29tLx4Ja 
... about 55,000 characters later ... 
XNweCNxOCI+SG93IGRvIEkgcmV0dXJuIGEgZGVmZWN0aXZlIHByb2R1Y3Q/PC9hPjwvbGk+DQo8L3VsPmRkJUr78qEqw4o 
bS8B4e2RCjO08Nsg=" /> 

Würden Sie vermuten, dass diese ihre Server hilft, indem sie von etwas Abladen in der Sitzung gespeichert werden und möglicherweise eine DB gesichert Sitzung, oder ist dies ihre Server zu verletzen und möglicherweise alle großen Kunden eingebettet ist, durch ein Wesen großer riesiger Textblock? Es macht ungefähr 1/3 der gesamten Seitenlast aus.

In jedem Fall, brauchen sie es wahrscheinlich?

+0

Das sieht wie ein ASP.NET Viewstate-Feld aus und nicht für Woot spezifisch. Es enthält den Status der Serversteuerelemente für diese bestimmte Seite, während eine Sitzung alle aktuellen Registerkarten betrifft, die für diesen Server geöffnet sind. – sisve

+0

Ja, ich wusste, dass es ein ASP.NET-Feld ist, und es ist sinnvoll, dass es von der Sitzung getrennt ist. Ich habe das Zeug generell ausgeschaltet, wenn es möglich ist. Aber ich bin einfach überrascht, dass Seiten wie diese so viel zu verfolgen haben. In der Tat habe ich immer noch Schwierigkeiten, genau zu verstehen, was genau verfolgt wird, was meine Frage war. – dlamblin

Antwort

1

Wenn der Viewstatus so groß ist, wie Sie erwähnt haben, denke ich, dass die Designer dies vor der Implementierung nicht berücksichtigt haben.

+0

Okay, du bist so ziemlich die einzige Person, die sagt, du denkst, dass es ein Fehler ist oder nicht. Niemand ist bereit, es zu verteidigen, und so ist es wahrscheinlich ein Fehler. – dlamblin

1

Der ViewState in ASP.NET-Seiten kann sogar noch größer sein. Es kann die Größe der Seite ernsthaft erhöhen, wenn der Entwickler nicht versteht, was es ist und wie es verwendet wird.

Die neue MVC-Anwendung in ASP.NET verwendet Viewstate nicht.

Das Viewstate wird verwendet, um den Status der ASP.NET-Steuerelemente auf der Seite zu verfolgen, und kann auch große Teile der Daten enthalten, die sich in diesen Steuerelementen befinden.

1

Verwenden Sie einfach eine online viewstate decoder, um zu sehen, was sie speichern. Es sieht so aus, als ob sie das Dataset für die Seite speichern.

+0

Das ist ein netter Decoder; Es gibt einige Probleme beim Anzeigen von Strings, die HTML enthalten. ZB die Google-Anzeige wird als Anzeige gerendert. – dlamblin

Verwandte Themen