Améliorez considérablement les temps de réponse ASP.NET en réduisant la charge utile renvoyée aux clients Web. Les applications ASP.NET doivent faire face à l'état d'affichage qui devient une surcharge de performances. Et, NCache vous aide à état d'affichage du cache sur les serveurs Web et envoyer une charge utile beaucoup plus petite au navigateur de l'utilisateur contenant uniquement un jeton unique pour ce ViewState.
L'état d'affichage est une chaîne de texte cryptée contenant l'état des contrôles de formulaire Web et des widgets et est envoyé au navigateur de l'utilisateur pour préserver cet état à travers les publications. Pour les formulaires comportant de nombreux contrôles, un contrôle DataGrid ou d'autres contrôles complexes, l'état d'affichage peut devenir assez volumineux. Voici quelques raisons pour lesquelles vous devriez envisager de mettre en cache l'état d'affichage.
L'état d'affichage est inclus dans la réponse d'une requête Web en tant que champ de formulaire masqué appelé __VIEWSTATE. Lors de toutes les visites de page au cours de l'étape d'enregistrement de l'état d'affichage, la classe Page rassemble l'état d'affichage collectif pour tous les contrôles de sa hiérarchie de contrôle et sérialise l'état en une chaîne encodée en base 64. Vous trouverez ci-dessous un exemple d'état d'affichage.
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUJNzg0MDMxMDA1D2QWAmYPZBYCZg9kFgQCAQ9 kFgICBQ9kFgJmD2QWAgIBDxYCHhNQcm...ZpZ2F0aW9uTWVudQ8PZAUK QWxsIGluIE9uZWQiMPVaPthHdSA3rH8zgoNOvWxd4w=="/>
Une fois NCache met en cache cet état d'affichage, il remplace les champs "id" et "value" par ses propres données. En voici un exemple.
<input type="hidden" name="__NCPVIEWSTATE" id="__NCPVIEWSTATE" value="vs:cf8c8d3927ad4c1a84da7f891bb89185" /> <input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="" />
Remarquez comment le champ caché "__VIEWSTATE" d'origine est conservé afin que tout fonctionne comme s'il n'y avait pas d'état d'affichage. Mais, il a inséré son propre champ "__NCPVIEWSTATE" qu'il lira lorsqu'une demande de publication viendra de l'utilisateur au serveur Web. NCache utilise la "valeur" comme clé pour extraire l'état d'affichage d'origine correspondant du cache en mémoire et le sert à la page ASP.NET afin qu'il puisse remplir le formulaire Web avec les données de l'état d'affichage.
Et, puisque le cache en mémoire est distribué et synchronisé sur tous les serveurs WFE, même si la demande de publication est envoyée à un autre serveur WFE de la batterie que le serveur d'origine sur lequel l'état d'affichage a été créé, NCache est capable de trouver la valeur de l'état d'affichage dans le cache.