Partager via


Les données de session sont perdues lorsque vous utilisez ASP.NET mode d’état de session InProc

Cet article vous aide à résoudre le problème que les données de session sont perdues lorsque vous utilisez ASP.NET mode d’état de session InProc.

Version du produit d’origine : ASP.NET
Numéro de base de connaissances d’origine : 324772

Symptômes

Les données de session pour ASP.NET applications web semblent être perdues à intervalles aléatoires pour le mode d’état de session InProc.

Cause

Les données d’état de session sont perdues si la AppDomain classe ou le processus Aspnet_wp.exe (ou le processus W3wp.exe, pour les applications qui s’exécutent sur IIS 7.0 ou une version ultérieure) sont recyclées. En règle générale, le AppDomain redémarrage est basé sur plusieurs facteurs :

  • Différents attributs (par exemple, l’attribut memoryLimit ) ont des paramètres particuliers dans la <processModel> section du fichier de configuration.
  • Le fichier Global.asax ou Web.config a été modifié.
  • Le Bin répertoire de l’application web a été modifié.
  • Le logiciel d’analyse antivirus a touché certains fichiers .config .

Le mode de session InProc indique que l’état de session est stocké localement. Cela signifie qu’avec le mode d’état de session InProc est stocké en tant qu’objets de vie dans l’application AppDomain web. C’est pourquoi l’état de session est perdu quand Aspnet_wp.exe (ou W3wp.exe, pour les applications qui s’exécutent sur IIS) ou les AppDomain redémarrages.

Résolution

Pour contourner ce problème, vous pouvez utiliser le mode d’état de session StateServer ou SqlServer. ASP.NET fournit ces autres approches pour stocker les données d’état de session. Dans les modes StateServer et SqlServer, votre état de session n’est pas stocké dans l’application AppDomain web.

Note

Il est important de comprendre le comportement et les problèmes associés à chaque mode d’état de session lorsque vous décidez quel mode convient à vos besoins.

État

Ce comportement est normal.

References

Pour plus d’informations sur ASP.NET gestion de l’état de session et d’autres informations connexes, consultez l’état de session.