首先,Session的存储方式分为三种,inproc,StateServer和Sqlserver存储,
有时候我们发现,用第一种方式session很容易丢失,即使在配置文件里面将时间设置很长,可是还是用不了几分钟就丢失,即使用到第二种存储方式也一样,于是我们就可以用到第三种方式sqlserver存储
首先如果我们需要用sqlserver存储,我们需要在数据库建立一张表
此表的SQL语句微软已给我写好,首先你得选择你自己的网站的版本
如果是 1.1的 那么就在
C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322 下面
如果2.0
C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727
以此类推....
里面有个 InstallSqlState.sql文件
将里面的文件复制.. 直接在SQL查询分析器中 直接运行,数据库就建成功
数据库名称应该为ASPState
然后就在配置文件中的Session模式改成
<sessionState mode="SQLServer" stateConnectionString="tcpip=127.0.0.1:42424" sqlConnectionString="data source=(local);user id=sa;password=sa" cookieless="false" timeout="200"/>
记得改成你们数据所对应的用户名和密码,
SqlServer存储能确保SQLserver不会丢失...但是会加大服务器开销
注意: SqlServer存储时,如果保存的是对象,需要该对象是能序列化的..
如果自定义的类让其可以序列化 需要在类的上面加上 [Serializable] 即可