asp.net - net - ¿Dónde se guardan las variables de sesión?
ihttpcontextaccessor (3)
Para una sesión de InProc, las variables se almacenan localmente en la memoria del proceso de trabajo de ASP.NET. Lo mismo aplica para el estado de la aplicación.
¿Dónde se guardan exactamente las variables de sesión? ¿Galletas? Memoria del servidor?
De nuevo, ¿dónde se guardan las variables de aplicación?
Las variables de sesión se almacenan en la memoria del servidor y en el disco como variables de aplicación .
De la documentación de ASP.NET :
El estado de sesión ASP.NET admite varias opciones de almacenamiento para variables de sesión. Cada opción se identifica como un tipo de modo de estado de sesión. El comportamiento predeterminado es almacenar variables de sesión en el espacio de memoria del proceso de trabajo de ASP.NET. Sin embargo, también puede especificar que el estado de la sesión se almacene en un proceso separado, en una base de datos de SQL Server o en una fuente de datos personalizada. Si no desea habilitar el estado de la sesión para su aplicación, puede configurar el modo de sesión en Apagado.
Las variables puestas en Sesión se almacenan donde el SessionStateProvider
configurado esté configurado para almacenarlas.
El SessionStateProvider
predeterminado usa lo que se conoce como Sesión In Process ( InProc
) y la ubicación de almacenamiento para esto está en la memoria del servidor, dentro del espacio de memoria del proceso de trabajo de ASP.NET.
Puede configurar su propio SessionStateProvider
para almacenar variables de sesión en otro lugar, como fuera de proceso, en una base de datos.
Las variables de aplicación se almacenan en ApplicationState
que también se almacena en el espacio de memoria del proceso de trabajo de ASP.NET. A diferencia del estado de la sesión, el estado de la aplicación se aplica a todos los usuarios y sesiones. Hasta donde yo sé, no hay configuración para almacenar ApplicationState en otro lugar; si necesita almacenar una gran cantidad de datos de la aplicación, es posible que desee ver el almacenamiento en caché de ASP.NET .