session的sqlserver保存方式配置

asp.net中提供了三种session的存储方式。
  一种是常规方式,就是存储在asp.net服务器进程中,这种是最容易丢失的。进程池的回收、服务进程的崩溃,都会导致你网站的访客无缘无故被退出登录。
  一种是StateServer,他是服务器上的一个系统服务。如果您已经打开了这项系统服务,即可在任务管理器中可以查看到名为aspnet_state.exe的进程。

      一种是保存在sqlserver中

 

如果保存在sqlserver中:

1.需要一个保存session的数据库。在本机或者远程创建一个aspstate的session数据库,

格式:aspnet_regsql.exe -S <SQL Server IP> -U <User Name> -P <Password> -E -ssadd -sstype c -d <Database Name>

实际操作中,开始运行:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe -S . -U sa -P hy -ssadd -sstype c -d aspstate

2.Web.Config文件配置项
我们需要在ASP.NET Web应用程序中的Web.Config文件修改sessionState配置项以使Session状态数据库生效。
配置节点如下:
system.web下加

<sessionState mode="SQLServer" sqlConnectionString="server=.;database=aspstate;user=sa;pwd=hy" allowCustomSqlDatabase="true" cookieless="false" timeout="20"></sessionState>

3.开启 SQL Server代理agent服务

4.对象要可序列化

posted on 2010-07-13 10:39  Justsoso  阅读(749)  评论(2编辑  收藏  举报

导航