Question

Je cherche à améliorer les performances de mon site, non pas à cause de mauvaises performances, mais bien à titre d'exercice général. La suggestion habituelle pour les sites asp.net est de supprimer viewstate dans la mesure du possible. Je crois que cela peut être fait par chaque contrôle sur une page séparément ou pour la page entière.

Ma question est la suivante: si je désactive l'état d'affichage de la page, cela arrêtera l'état d'affichage des contrôles sur une page maître (si je comprends bien, la page maître est en réalité un contrôle de la page).

Était-ce utile?

La solution

Oui, la page est à l'origine du flux de page. Ainsi, la désactivation de viewstate pour la page supprime le rendu viewstate du processus OnInit. Une meilleure question serait de savoir pourquoi la désactivation du viewstate pour la page maître a le même effet.

Autres conseils

Il existe un moyen simple de réduire l’ensemble de vos points de vue.

Étape 1. Créez une nouvelle classe qui ressemble à ceci:

Imports System  
Imports System.Web.UI

Public Class SessionPageStateAdapter
    Inherits System.Web.UI.Adapters.PageAdapter

    Public Overrides Function GetStatePersister() As System.Web.UI.PageStatePersister

        Return New SessionPageStatePersister(Page)

    End Function
End Class

Étape 2. Ajoutez un App_Browsers dossier à votre projet.

Étape 3. Dans votre nouveau dossier default.browser, ajoutez un nouveau fichier <browsers>
<browser refID="Default">
<controlAdapters>
<adapter controlType="System.Web.UI.Page" adapterType="[YourNamespaceGoesHere].SessionPageStateAdapter" />
</controlAdapters>
</browser>
</browsers>
ressemblant à ceci.
<=>

Lorsque vous exécutez vos pages maintenant, vous devriez constater que la taille de l'état d'affichage a été réduite à quelques octets. La classe SessionPageStateAdapter intercepte le viewstate avant qu'il ne soit servi au navigateur et le conserve sur le serveur en état de session. Le bit d'état d'affichage qui est toujours envoyé au client est simplement un identificateur utilisé pour reconstituer l'état d'affichage lorsque la page est renvoyée sur le serveur.

Cet article pourrait vous être utile:
http://msdn.microsoft.com/en-us/library/ms972976. aspx

Juste une petite note sur le côté avant d'optimiser le site, optimisez le serveur en vous assurant que tous les fichiers sont compressés avant de les envoyer.

Sinon, cela vous donnera un bon coup de pouce avant même de commencer à bricoler la page.

http://www.codinghorror.com/blog/archives/000059.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top