Verbessern Sie die Antwortzeiten von ASP.NET erheblich, indem Sie die an Web-Clients zurückgegebene Nutzlast reduzieren. ASP.NET-Anwendungen müssen damit zurechtkommen, dass der Ansichtsstatus zu einem Leistungsaufwand wird. Und, NCache hilft Ihnen, Cache-Ansichtsstatus auf den Webservern und senden eine viel kleinere Nutzlast an den Browser des Benutzers, die nur ein eindeutiges Token für diesen ViewState enthält.
„View State“ ist eine verschlüsselte Textzeichenfolge, die den Status von Webformular-Steuerelementen und Widgets enthält und an den Browser des Benutzers gesendet wird, um diesen Status über Postbacks hinweg beizubehalten. Bei Formularen mit vielen Steuerelementen, DataGrid-Steuerelementen oder anderen komplexen Steuerelementen kann der Ansichtsstatus recht groß werden. Hier sind einige Gründe, warum Sie das Zwischenspeichern des Ansichtsstatus in Betracht ziehen sollten.
Der Ansichtsstatus ist in der Antwort einer Webanforderung als verstecktes Formularfeld namens __VIEWSTATE enthalten. Bei allen Seitenaufrufen während der Phase zum Speichern des Ansichtsstatus erfasst die Page-Klasse den kollektiven Ansichtsstatus für alle Steuerelemente in ihrer Steuerhierarchie und serialisiert den Status in eine Base-64-codierte Zeichenfolge. Unten finden Sie ein Beispiel für einen Ansichtsstatus.
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzg0MDMxMDA1D2QWAmYPZBYCZg9kFgQCAQ9 kFgICBQ9kFgJmD2QWAgIBDxYCHhNQcm...ZpZ2F0aW9uTWVudQ8PZAUK QWxsIGluIE9uZWQiMPVaPthHdSA3rH8zgoNOvWxd4w=="/>
Sobald NCache speichert diesen Ansichtsstatus zwischen und ersetzt die Felder „id“ und „value“ durch seine eigenen Daten. Hier ist ein Beispiel dafür.
<input type="hidden" name="__NCPVIEWSTATE" id="__NCPVIEWSTATE" value="vs:cf8c8d3927ad4c1a84da7f891bb89185" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" />
Beachten Sie, dass das ursprüngliche versteckte Feld „__VIEWSTATE“ erhalten bleibt, sodass alles so funktioniert, als ob es keinen Ansichtsstatus gäbe. Es wurde jedoch ein eigenes Feld „__NCPVIEWSTATE“ eingefügt, das gelesen wird, wenn eine Postback-Anfrage vom Benutzer an den Webserver kommt. NCache verwendet den „Wert“ als Schlüssel, um den entsprechenden ursprünglichen Ansichtsstatus aus dem In-Memory-Cache abzurufen und stellt ihn der ASP.NET-Seite zur Verfügung, damit diese das Webformular mit Daten aus dem Ansichtsstatus füllen kann.
Und da der In-Memory-Cache auf alle WFE-Server verteilt und synchronisiert wird, selbst wenn die Postback-Anfrage an einen anderen WFE-Server in der Farm geht als den ursprünglichen Server, auf dem der Ansichtsstatus erstellt wurde, NCache kann den View State-Wert im Cache finden.