首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

会话状态方式之SQL Server

2013-03-13 
会话状态模式之SQL Server每个客户(严的说应该是浏览器)访问网站时,都会创建相应的Session,用来保存客户的

会话状态模式之SQL Server

    每个客户(严格的说应该是浏览器)访问网站时,都会创建相应的Session,用来保存客户的状态信息。

     

    五种模式介绍

    根据保存位置不同,共有5种模式。

    (1)InProc模式(进程内模式) 。为默认设置。

            会话状态存储在Web服务器上的内存中。

    (2)StateServer模式(状态服务器模式)。

            会话状态存储在一个名为ASP.Net状态服务的单独进程中。这确保了在重新启动Web应用程序时会保留会话状态,并让会话状态可用于网路场中的多个Web服务器。

    (3)SQL Server模式。

            会话状态存储到一个SQL Server数据库中。这确保了在重新启动Web应用程序时会保留会话状态,并让会话状态可用于网路场中的多个Web服务器。

    (4)Custom模式

            此模式允许您指定自定义存储提供程序。

    (5)Off模式

            此模式禁止会话状态。

    设置

    通过再Web.config文件中设置sessionState元素的mode属性指定会话模式

    525600单位是分钟。因为老师自己使用,想要避免重复的登录,故而把过期时间设置成了1年,也是最大值,够狠吗。

     

    经试验,对于进程内模式,虽然设置有效期也是1年,但是时间不到2小时,session就销毁了。很容易理解,内存中的东西,如果不用,操作系统自然会回收再利用。所以,我选择用SQL Server模式来解决这个问题。

     

    SQL Server模式

    1. 注册数据库ASPState。

    执行InstallSqlState.sql

    文件位置C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/InstallSqlState.sql

    1. 在ASPState中创建和membership相关的一些表、存储过程。

     执行Aspnet_regsql.exe

     文件位置C:\Windows\Microsoft.NET\Framework\v2.0.50727\Aspnet_regsql.exe

    1. 设置Web.config

     

    参考

    会话状态模式

     

    http://www.cnblogs.com/BoyXiao/archive/2010/03/01/1675659.html

     

    无法打开登录所请求的数据库 "ASPState"。登录失败。 用户 'NT AUTHORITY/SYSTEM' 登录失败。

热点排行