一、Session默认存储在W3WP.exe进程中(进程内存储),该方式速度快,但是内存小,易丢失(断电、服务器意外停止会丢失)。
二、Session分布式状态保持:(Session进程外存储,存放在状态保持服务器中):(不同的Web服务器(分布式)共享Session)(此时Session中的数据(对象)必须支持序列化)
1、启动服务:开启"ASP.NET 状态服务"(进程中会多一个aspnet_state.exe的进程)
2、配置文件(Web.config)添加配置:
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424"/> (Session存在Session状态保持服务器中)(localhost表示存放Session的服务器的地址)
3、如果SessionState服务器不是本地服务器(不是localhost),那么需要修改注册表,允许远程使用:
位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.03019 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters 把0改为1。