ASP.NET View State ist ein leistungsstarkes Feature von ASP.NET, das einen clientseitigen Zustandsverwaltungsmechanismus bereitstellt. Es hilft, Seiten- und Steuerwerte zwischen vollständigen Roundtrips für Clientanforderungen beizubehalten. Dies gibt eine zustandsvolle Programmierfähigkeit über ein zustandsloses Protokoll wie HTTP.
ASP.NET View State wird in einem verborgenen Feld auf der Seite als codierter Base64-String als Teil jeder an den Client gesendeten Antwort gespeichert und wird auch vom Client als Teil eines Postbacks an den Server zurückgegeben.
<input id = "__VIEWSTATE"
type = "hidden"
name = "__VIEWSTATE"
value = "/wEPDwUJNzg0MDMxMDA1D2QWAmYPZBYCZg9kFgQCAQ9kFgICBQ9kFgJmD2QWAgIBD
xYCHhNQcm2aW91c0NvbnRyb2xNb2RlCymIAU1pY3Jvc29mdC5TaGFyZVBvaW50Lld
lYkNvbnRyb2xzLlNQQ29udHJbE1vZDA1XzRlMjJfODM3Y19kOWQ1ZTc2YmY1M2IPD
2…=="/>
Obwohl sehr nützlich, ASP.NET View State bringt einige Probleme mit sich, die Sie verstehen und lösen müssen. Sie werden unten besprochen.
Eine Möglichkeit, die Sie lösen können ASP.NET View State Probleme ist durch die Speicherung der tatsächlichen ASP.NET View State auf dem Webserver und sendet stattdessen ein eindeutiges Token (oder eine ID) an den Browser, damit der Browser dieses Token das nächste Mal an den Webserver zurücksenden kann. Der Webserver verwendet dann dieses Token, um das Recht zu finden ASP.NET View State in seinem Laden. Unten sehen Sie ein Beispiel für ein Token, das anstelle von verwendet wird ASP.NET View State.
<input type = "hidden"
name = "__VIEWSTATE"
id = "__VIEWSTATE"
value = "vs:cf8c8d3927ad4c1a84da7f891bb89185" />
Obwohl ASP.NET View State auf dem Webserver gespeichert werden kann, ist es nicht ideal, wenn Ihre ASP.NET-Anwendung in einer Webfarm mit Lastenausgleich ausgeführt wird, da die nächste HTTP-Anforderung möglicherweise an einen anderen Webserver gesendet wird. Daher müssen Sie die speichern ASP.NET View State in einem gemeinsam genutzten Speicher, auf den von allen Webservern aus zugegriffen werden kann.
Der beste Ort zum Aufbewahren ASP.NET View State auf dem Server ist in a verteilter Cache. Auf diese Weise haben Sie nicht nur einen gemeinsamen Speicher für alle Webserver, sondern auch einen extrem schneller und skalierbarer In-Memory-Speicher im Vergleich zur SQL Server-Datenbank oder anderen Speicheroptionen.
NCache ist ein extrem schneller und skalierbarer verteilter Cache für .NET/.NET Core, Java und Node.js. Es lässt Sie auch speichern ASP.NET View State um die oben beschriebenen Probleme zu lösen.
Zu konfigurieren ASP.NET View State du musst das installieren AspNet.ViewState.NCache NuGet-Paket als Voraussetzung. Dann müssen Sie App_browser-Datei konfigurieren mit NCache Steckseitenadapter u Konfigurieren Sie die Datei web.config in Ihrer Anwendung, um den Konfigurationsabschnitt für den Ansichtsstatus zu registrieren und die Einstellungen für den registrierten Konfigurationsabschnitt anzugeben. Beziehen Sie sich auf die NCache ASP.NET View State docs zur schrittweisen Konfiguration.
Wenn derselbe Cache für das View State-Caching und andere Daten verwendet wird, ist dies möglich Rufen Sie die View State-Daten ab durch die Nutzung NC_ASP.net_viewstate_data taggen als:
Hashtable allViewStateData = cache.GetByTag(new Tag("NC_ASP.net_viewstate_data"));
Sie erhalten die folgenden Vorteile, wenn Sie Ihre ASP.NET View State in NCache.
NCache bietet Ihnen eine Vielzahl von Funktionen für das Caching und die Verwaltung ASP.NET View State. Nachfolgend finden Sie eine Liste davon.
Wie du gesehen hast, NCache erlaubt Ihnen zu cachen ASP.NET View State auf dem Server, um Ihre ASP.NET-Leistung zu optimieren. Zusätzlich, NCache bietet Ihnen eine Vielzahl von Funktionen zur Verwaltung Ihrer ASP.NET View State effizienter im Cache. Auf diese Weise können Sie komplexe Anwendungen entwickeln und diese Funktionen verwenden, um eine Vielzahl von Szenarien zu bewältigen.