如何把session存储到数据库里

157 篇文章 2 订阅
aspnet中,session默认以inproc模式存储,也就是保存在iis进程中,
这样有个优点就是效率高,但不利于为本负载均衡扩展。
可以把session信息保存在SQL Server中,
据说,该种方式比起inproc性能损失为10%-20%。如何实现呢,主要分两步介绍:
 
      1、初始化SQL Server中的状态数据库
 ASP.NET SQL Server 提供注册工具Aspnet_regsql.exe,用于创建供 ASP.NET 
中的 SQL Server 提供程序使用的 Microsoft SQL Server  数据库。
Aspnet_regsql.exe位于    /%windir%/Microsoft.NET/Framework/
<versionNumber>/aspnet_regsql.exe 目录下。如果麻烦,
可以 直接用visual studio tools 的命令提示工具中直接输入
aspnet_regsql.exe使用。用法如下:

    Aspnet_regsql.exe <options>
    可以用如下的语法来添加默认session数据库ASPState
    aspnet_regsql.exe -S localhost -U sa -P why1234? -ssadd -sstype p
    -S,-U/-P
     必须是大写,分别表示数据库服务器,用户名和密码。
    -ssadd / –ssremove 参数:
     -ssadd表示是添加Session数据库, -ssremove表示移除Session数据库.
创建自定义数据库myAppState,可以用如下的语法:
     aspnet_regsql.exe -S localhost -U sa -P why1234? -ssadd 
-sstype c -d myAppState
 
2、配置webconfig
    在webconfig的  <system.web>节下添加如下配置:
     <sessionState mode="SQLServer"  sqlConnectionString="server=
localhost; uid=sa; pwd=123456;"/>
   如果在初始化数据库的时候,创建了自定义数据库可以用类似于如下的的配置:
<sessionState mode="SQLServer"  allowCustomSqlDatabase="true" 
sqlConnectionString="server=localhost; DataBase=myAspState;uid=sa;
 pwd=123456;"/>
 
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值