session的保存方式.

在webconfig中可以设置session回话状态的保存方式.

默认的是InProc,在进程中保存,此保存方式的好处是读取速度快.当然,由于保存在进程中,所以session可能在某时某刻因为进程的关闭,丢失session.

可以选择为StateServer,是保存在服务器中的状态服务中,可已在管理工具-->服务  中查看

如果设置成StateServer,首先要在存放在session中的类设置成可序列化的类,否可会报错.

//可序列化类
[Serializable()]

public class ETSUser
{

#region 变量
private int userId;

private string email;

private int sex;

private System.DateTime birthday;

private string passwordQuestion;

private string passwordAnswer;

在声明类的上方[Serializable()]或者[Serializable]

然后设置状态服务为开启.这样运行网站,session就会保存在状态服务中了.如果session不过期,服务器不重启,session丢失的现象会比InProc中少.


在iis7中也可以更改session存放方式.iis7的设置会自动更改发布在iis中web项目的config文件.



原文地址:https://www.cnblogs.com/lingyuan/p/1863144.html