Frage

Mit Benutzer Steuerelemente auf einer Seite, verstehe ich, dass jede Kontrolle einen Einfluss auf der Speichernutzung hat durch ihren eigenen Staat in Viewstate zu speichern. Meine Frage ist, wie viel?

Zum Beispiel - ich habe ein Feedback-Formular als Kontrolle auf meiner Masterpage. Es wird auf Visible = „false“ eingestellt. Ein Benutzer klickt auf einen Feedback-Button, und die Steuerung wird sichtbar, während sie gebraucht wird.

Was wäre die relative Performance Auswirkungen seien durch Kontrolle mit dort auf every sitzt (wie es in der Masterpage gelegen ist), aber nicht sichtbar? Die Seite, die ich entwickeln werde potenziell große Mengen an Verkehr hat, und ich frage mich, ob ich mich für eine Kopfschmerz habe die Einrichtung später, wenn die Dinge langsam.

Danke

War es hilfreich?

Lösung

Performance kann auf dem Server und den Client beeinflusst werden. In erster Linie wollen Sie die Menge von HTML einschließlich Ansichtszustand zu reduzieren, die an den Client gesendet wird. Wenn dies auf jeder Seite sitzt, dann wird diese Ansichtszustand Informationen mehr senden oft als Sie wirklich brauchen, um.

Ich denke, Sie sollten eine gewisse Logik haben, die die Feedback-Formular Steuerung sorgt dafür, dass nur die Feedback-Seite hinzugefügt wird. Anstatt sichtbar verwenden = „false“, legt es auf seine eigene Seite und Link zu ihnen, oder dynamisch die Steuerung der Seite hinzufügen.

Die wichtigsten Vorteile werden die Bandbreitennutzung reduziert und eine schnellere Darstellung der Seite auf dem Client. Sekundäre Vorteile sind einfacher Debuggen und saubereren Code an den Client zu machen.

Bei allen Leistungsproblemen sollten Sie die Leistung testen und machen Urteile basierend auf harten Daten. In diesem Fall arbeiten, um die Größe des Ansichtszustandes auf dem Client aus, dann multiplizieren nach Anzahl der Anfragen, die Größe der Bandbreitennutzung auf dem Server zu sehen. Auf dem Client ein Tool wie Firebug verwenden, um die Gesamt-Seitengröße des Kunden.

empfangen zu verstehen

Andere Tipps

Es hängt von der Kontrolle. Datenraster mit Hunderten Reihen könnten 100k von Ansichtszustand erzeugen. Auf der anderen Seite erzeugt Checkbox wird nicht zu viel.

können Sie werfen Sie einfach Ihre Feedback-Formular Kontrolle auf leere aspx Seite, besuchen sie im Browser und überprüfen __VIEWSTATE verstecktes Feld. Dies ist, wie viel Sie Feedback-Formular auf jeder Seite in Bezug auf die Ansichtszustand hinzufügen. Dann müssen Sie entscheiden, ob es akzeptabel ist.

Ich würde nicht über eine solche Optimierungen gleich zu Beginn htink. Wenn es langsam auf später werden wird, können Sie immer die Form ändern reine HTML und Ajax Gebrauch oder etwas zu sein, es Daten an den Server zu senden. Solange es Benutzersteuerung und nicht kopiert eingefügten Inhalt ist es leicht sein wird zu optimieren

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top