session进程和服务

时间:2023-03-08 16:43:00

session如果是存在进程内的话,当进程重启,session数据就会丢失。

所以就找到了个办法,不吧session放在进程内,而是放在服务器上。这样子只要服务器不重启,session数据就不会丢失.

1.开始服务

开始本机上的asp.net state service 服务

2.更改配置文件

在system.web下添加

<sessionState mode="StateServer" stateConnectionString="tcpip=xxxxxxx">

</sessionState>

//mode设置session模式 此处是表示存在服务上不存在进程中 后面的是连接的地址

3.更改注册表值

将HKEY_LOCAL_MACHINE\SYSTEM\CURRENTControlSet\Services\aspnet_state\Parameters\AllowRemoteConnection的值改为1

注意:因为本身就是序列化传输,所以如果是对象的话,得先打上序列化特性

还有保存在数据库的方法,但是效率太差,本文的方法也不好,最好是用Memcach+cookie代替session。