Compartir a través de


Los datos de sesión se pierden cuando se usa ASP.NET modo de estado de sesión InProc

Este artículo le ayuda a resolver el problema que se pierden los datos de sesión cuando se usa ASP.NET modo de estado de sesión InProc.

Versión original del producto: ASP.NET
Número de KB original: 324772

Síntomas

Los datos de sesión de ASP.NET aplicaciones web parecen perderse a intervalos aleatorios para el modo de estado de sesión InProc.

Causa

Los datos de estado de sesión se pierden si la AppDomain clase o el proceso de Aspnet_wp.exe (o el proceso de W3wp.exe, para las aplicaciones que se ejecutan en IIS 7.0 o una versión posterior) se reciclan. Por lo general, AppDomain se reinicia en función de varios factores:

  • Varios atributos (por ejemplo, el memoryLimit atributo) tienen una configuración determinada en la <processModel> sección del archivo de configuración.
  • Se modificó el archivo Global.asax o Web.config.
  • Se Bin modificó el directorio de la aplicación web.
  • El software de detección de virus tocó algunos archivos .config .

El modo de sesión InProc indica que el estado de sesión se almacena localmente. Esto significa que, con el modo de estado de sesión InProc, se almacena como objetos life en la AppDomain de la aplicación web. Este es el motivo por el que el estado de sesión se pierde cuando se Aspnet_wp.exe (o W3wp.exe, para las aplicaciones que se ejecutan en IIS) o los AppDomain reinicios.

Solución

Para solucionar este problema, puede usar el modo de estado de sesión StateServer o SqlServer. ASP.NET proporciona estos otros enfoques para almacenar datos de estado de sesión. En los modos StateServer y SqlServer, el estado de sesión no se almacena en la AppDomain de la aplicación web.

Nota:

Es importante comprender el comportamiento y los problemas asociados a cada modo de estado de sesión cuando decida qué modo es adecuado para sus requisitos.

Estado

Este comportamiento es por diseño.

Referencias

Para obtener más información sobre ASP.NET administración del estado de sesión y otra información relacionada, consulte Estado de sesión.