web-dev-qa-db-fra.com

Quelle est la différence entre SessionState et ViewState?

Quelle est la différence entre SessionState et ViewState dans ASP.NET?

113
Natrium

État de session contient des informations relatives à une session spécifique (par un client/navigateur/ordinateur particulier) avec le serveur. C'est un moyen de suivre ce que l'utilisateur fait sur le site. sur plusieurs pages ... dans le contexte de l'apatridie du Web. par exemple. le contenu du panier d'achat d'un utilisateur particulier est constitué de données de session. Les cookies peuvent être utilisés pour l'état de session.
L'état d'affichage est en revanche une information spécifique à une page Web donnée. Il est stocké dans un champ caché afin qu'il ne soit pas visible pour l'utilisateur. Il est utilisé pour maintenir l'illusion de l'utilisateur sur le fait que la page se souvient de ce qu'il a fait dessus la dernière fois. Ne lui donnez pas une page vierge chaque fois qu'il poste. Consultez cette page pour plus .

137
Gishu

L'état de la session est enregistré sur le serveur, ViewState est enregistré dans la page.

L'état de session est généralement effacé après une période d'inactivité de l'utilisateur (aucune requête contenant l'identifiant de session dans les cookies de requête ne s'est produite).

L'état d'affichage est publié lors d'une publication ultérieure dans un champ masqué.

95

SessionState

  • Peut être conservé en mémoire, ce qui en fait une solution rapide. Ce qui signifie que l'état ne peut pas être partagé dans la ferme Web/Web Garden.
  • Peut être conservé dans une base de données, utile pour Web Farms/Web Gardens.
  • Est effacé à la mort de la session - généralement après 20 minutes d'inactivité.

ViewState

  • Est envoyé dans les deux sens entre le serveur et le client, en prenant de la bande passante.
  • N'a pas de date d'expiration.
  • Est utile dans une ferme Web/un jardin Web
31

sage: Si vous souhaitez stocker des informations auxquelles vous souhaitez accéder sur différentes pages Web, vous pouvez utiliser SessionState.

Si vous souhaitez stocker des informations auxquelles vous souhaitez accéder depuis la même page, vous pouvez utiliser Viewstate.

Stockage Le Viewstate est stocké dans la page elle-même (en texte crypté), tandis que le Sessionstate est stocké sur le serveur.

Le SessionState sera vide dans les conditions suivantes

  1. Effacé par le programmeur
  2. Effacé par l'utilisateur
  3. Temps libre
13
Cyril Gupta

Session est principalement utilisé pour stocker des données spécifiques à l'utilisateur [données spécifiques à la session]. Dans le cas d'une session, vous pouvez utiliser la valeur pour l'ensemble de la session jusqu'à ce que la session expire ou que l'utilisateur abandonne la session. Viewstate est le type de données qui a une portée uniquement dans la page dans laquelle elles sont utilisées. Vous ne pouvez pas avoir de valeurs de viewstate accessibles à d’autres pages à moins de les transférer à la page souhaitée. De même, dans le cas de l'état d'affichage, toutes les données de contrôle côté serveur sont transférées au serveur sous forme de paire de valeurs de clé dans __Viewstate, puis renvoyées et restituées au contrôle approprié du client lors de la publication.

5
rahul