Différence entre Session et ViewState

Session vs ViewState

ViewState et session sont deux des solutions aux problèmes des applications Web. Le problème implique qu'un utilisateur d'ordinateur accède à une page Web au cours d'une période donnée. Après un certain temps d'utilisation ou après la fermeture de l'application par l'utilisateur, les informations et l'accès à la page Web sont supprimés des journaux d'utilisation récents..

ViewState est valide uniquement pendant les publications et ne s'applique qu'aux données sérialisées. ViewState, en premier lieu, est un objet / une architecture qui permet aux contrôles Web de conserver leur valeur entre les publications. Comme la session, ViewState peut être exécuté et être accessible à un serveur.
Les informations dans ViewState sont stockées pour le client uniquement sous forme de valeur chiffrée dans les champs cachés du navigateur. Cela rend les données non sécurisées et éventuellement sujettes au piratage. Pendant les publications, ViewState suit les modifications apportées à un site Web particulier.

ViewState conserve également la valeur de contrôle pour la page particulière. Cela signifie que les données d'une page ne sont pas et ne peuvent pas être disponibles, accédées ou répliquées dans une autre page. ViewState est maintenu au niveau de la page ou de la page en cours actuelle. Il n'a pas de point d'expiration et peut être activé ou désactivé dans ViewState pour des contrôles spécifiques..

ViewState est visible dans l'affichage du code source de la page, qui dure jusqu'à la fermeture de la page. ViewState est principalement utilisé pour stocker une petite quantité de données (généralement une chaîne et d'autres données sérialisées) sur la page en cours. En outre, ViewState consomme plus de bande passante que la session, mais moins de mémoire et d’espace mémoire. ViewState n'utilise pas trop de mémoire car toutes les données sont perdues au moment de la fermeture de la page.

Pendant ce temps, la session est plus couramment utilisée pour les pages Web et affecte non seulement la page, mais également toute l'application et la durée totale d'un utilisateur utilisant ce navigateur ou cette page en particulier. La session est valable pour tout type d’objets et est stockée dans la mémoire du serveur du navigateur. Les données qu'il retient sont les données de l'utilisateur de l'ordinateur ou, en d'autres termes, des données spécifiques à l'utilisateur. Les données sont disponibles jusqu'à ce que l'utilisateur ferme l'application de navigateur ou que la session expire d'elle-même..

Contrairement à ViewState, les données de la session peuvent être consultées ou répliquées dans une autre fenêtre ou page de la session. Les sessions n'ont pas non plus la possibilité de désactiver ou d'activer des contrôles spécifiques. La session implique également différents types de données à stocker dans son réceptacle de mémoire. La session a également une mémoire plus grande que ViewState puisqu'elle utilise la mémoire du serveur. L'inconvénient est que la session a une heure d'expiration et que la quantité de données stockées dans la mémoire du serveur peut affecter la charge de temps du serveur..

Résumé:

1.En dehors de ViewState et de la session, les autres solutions ASP.NET incluent les variables d'application, le cache et les cookies. 2.ViewState et la session peuvent à la fois s'exécuter et être accessibles dans un environnement de serveur.
3.ViewState est utilisé côté client tandis que session est utilisée côté serveur. En tant que client, ViewState n'a pas d'expiration. Le contraire (avoir une expiration et être côté serveur) est pour la session.
4.ViewState ne peut contenir qu'une chaîne ou des données sérialisables, alors qu'une session peut contenir un grand nombre de types de données. Cela réduit considérablement la quantité de données dans ViewState par rapport à la session..
5.Session peut répliquer ou accéder aux données vers une nouvelle page ou fenêtre alors que ViewState n'est pas capable de cette fonctionnalité.
6.Session stocke ses données dans la mémoire du serveur tandis que ViewState masque ses données dans les champs cachés du navigateur sous forme de données cryptées. 7.Comme la mémoire du serveur contient différents types de données, une grande quantité de données stockées peut affecter la charge du serveur..