Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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.