Was ist besser für die performance viewstate oder Sitzung
Habe ich zum speichern von Daten von tausenden von Datensätzen in eine Tabelle mit Daten und gepflegt postback. Welche option ist für mich geeignet viewstate(was ich verwendet habe) oder session. Wenn ich in den viewstate wird es erstellt hidden-Feld für die Speicherung und verlangsamen das laden der Seite. So ist es keine overhead (server side Speicherverbrauch und die Verzögerung in der Antwort) in die Speicherung in der session. Bitte schlage mir die Lösung
- Sie sollten nicht speichern Sie Tausende von Datensätzen in der session-oder view-state.
- Was ist die beste Praxis dann
- Fetch nur die erforderlichen Daten auf der Seite. Wie, wenn Sie Verwendung von Daten-Tabelle zu binden raster. Dann werden die Daten-Tabelle enthalten soll nur jene Daten erforderlich, die auf der aktuellen Seite des gridview-Steuerelements.
- Das könnte die Antwort sein, aber ich habe, um alle Datensätze im gridview und pflegen von änderungen in der Daten-und wieder binden zu gridview
- Netterweise gehen Sie über diesen link aspnet.4guysfromrolla.com/articles/031506-1.aspx
- Hier ist ein perfektes Beispiel für Sie aspsnippets.com/Articles/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Für große Mengen von Daten, die Sitzung ist effizienter. Wenn Sie erkennen können, wenn der Benutzer wird mit einem bestimmten block von Daten, das Session-variable auf null, um zu helfen, Speicher-overhead. Sie können nicht immer tun, aber die Sitzung wird schließlich erlöschen, und der Speicher wird freigegeben werden, dann. Senken Sie den Session-timeout kann helfen, einige, aber nicht setzen es zu klein ist, wollen Sie nicht cut-off Ihrer Nutzer. Sitzung aktiviert sein muss, um in Ihr Web.config-Datei.
Hier sind die grundlegenden Richtlinien für Session-vs. Anzeigestatus:
ViewState: Die Binär-Daten-Struktur der ViewState wird Base64-kodiert in die Seite, was bedeutet, es ist 1.3333 mal (8/6) die Größe der ursprünglichen binären Daten. Diese Daten hoch-und heruntergeladen werden für jede Seite anzeigen. Also, wenn Sie haben eine Menge in der ViewState-es hat Auswirkungen auf Seite Antwortzeiten. Base64-Codierung ist wohl hoch optimiert, so dass es nicht zu einem Leistungseinbruch. Jede Seite wird Ihre Anfrage zuordnen, dann frei bis der Raum für die ViewState, so ist es nicht eine langfristige Speicher-Treffer. Da die Daten in der Seite, es nicht verfallen.
Sitzung: Alle Daten in der Session beibehalten wird in der web-server zwischen Seite geladen wird. So bleibt die Seite klein ist, ist er nur zu tragen hat, die Session-id. Auf der Seite nach unten, verwendete Speicher zum speichern von Daten in der Session bleibt zugeordnet, bis die Sitzung abläuft. Ich habe mich gefragt, ob die Sitzung Kopien von binären Daten oder hält nur einen Zeiger. Wie Base64-Codierung, dies kann sehr optimiert, so dass, wenn es passiert, ist es nicht eine Leistung Treffer. Die Sitzung kann verfallen, wenn der Benutzer wartet zu lange zwischen Seite Ansichten. Wenn die Sitzung abläuft, sollte es den Benutzer zurück auf einen bekannten Status in der web-Seite.
Einer anderen Frage hier, wenn Sie die Speicherung von Informationen in der Session, die session-id weitergegeben werden dürfen zwischen mehreren tabs im browser des Clients. Sie müssen vorsichtig sein, wie du mit den Daten in der Session gespeichert. Stellen Sie sicher, testen Sie diese, damit Ihre Benutzer keine unerwarteten Ergebnisse.
(Hinweis: die Verwendung von ViewState ist Erholsam Sitzung nicht.)