会话变量到底保存在哪里?饼干?服务器内存?
再次保存应用程序变量的位置?
答案 0 :(得分:44)
放入会话的变量存储在配置SessionStateProvider
配置为存储它们的任何位置。
默认SessionStateProvider
使用所谓的In Process(InProc
)Session,其存储位置位于ASP.NET工作进程的内存空间内的服务器内存中。
您可以配置自己的SessionStateProvider
以将会话变量存储在数据库中的其他位置,例如进程外。
应用程序变量存储在ApplicationState
中,它也存储在ASP.NET辅助进程的内存空间中。与会话状态不同,应用程序状态适用于所有用户和会话。据我所知,没有配置将ApplicationState存储在其他地方;如果您需要存储大量应用程序数据,那么您可能需要查看ASP.NET Caching。
答案 1 :(得分:12)
会话变量存储在服务器内存和磁盘上,因为应用程序变量。
ASP.NET会话状态支持多个 会话变量的存储选项。 每个选项都标识为a 会话状态模式类型。默认 行为是存储会话变量 在ASP.NET的内存空间中 工人流程。但是,你也可以 指定会话状态应该是 存储在SQL中的单独进程中 服务器数据库或自定义数据 资源。如果你不想要会话 为您的应用启用状态, 您可以将会话模式设置为关闭。
答案 2 :(得分:4)
对于InProc会话,变量存储在ASP.NET工作进程的内存中。应用程序状态也是如此。