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 de que los datos de sesión se pierden al usar ASP.NET modo de estado de sesión InProc.
Versión del producto original: ASP.NET
Número KB original: 324772
Síntomas
Los datos de sesión de ASP.NET 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 se recicla la clase o el proceso Aspnet_wp.exe (o el proceso W3wp.exe, para aplicaciones que se ejecutan en IIS 7.0 o una versión AppDomain posterior). Por lo general, AppDomain se reinicia en función de varios factores:
- Varios atributos (por ejemplo, el
memoryLimitatributo) tienen configuraciones particulares en la<processModel>sección del archivo de configuración. - Global.asax o el archivoWeb.config se modificó.
- Se
Binmodificó el directorio de la aplicación web. - El software de detección de virus tocó.config archivos.
El modo de sesión InProc indica que el estado de la sesión se almacena localmente. Esto significa que con el modo de estado de sesión InProc se almacena como objetos de vida en la AppDomain aplicación web. Por este motivo, el estado de sesión se pierde Aspnet_wp.exe (o W3wp.exe, para las aplicaciones que se ejecutan en IIS) o AppDomain los reinicios.
Solución
Para solucionar este problema, puede usar el modo de estado de sesión StateServer o SqlServer. ASP.NET proporciona estos otros métodos 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 aplicación web.
Nota
Es importante comprender el comportamiento y los problemas asociados con cada modo de estado de sesión cuando decida qué modo es adecuado para sus requisitos.
Estado
Este comportamiento es una característica del diseño de la aplicación.
Referencias
Para obtener más información acerca de ASP.NET de estado de sesión y otra información relacionada, vea Session State.