Session 保存到SQL的解决过程

先要找到Microsoft.NET/Framework/v1.1.4322  文件夹下面的InstallSqlState.sql这个文件,之后使用SQLServer查询分析器执行,执行之后报告成功,之后在执行下v2.0.50727文件夹里的InstallSqlState.sql之后会报错,我们不用管他之后你会发现数据库里会多出一个数据库 ASPState 这个库里面是没有表的,我们不用管他,但是请确保里面有24个存储过程,(再次注意ASPState这里面是没有表的)可是要是没有表的话我们的Session值放在什么地方呢?别着急我们来查看一下系统数据库当中的这个tempdb 数据库之后会发现里面多出两张表 ASPStateTempApplications,ASPStateTempSessions这两张表是用来存储Session值的。请确保ASPStateTempApplications这个表里有2个字段,ASPStateTempSessions确保里面只有十一个字段。之下来我们来看一下SQL Server代理来看一下,点击作业查看是否有个ASPState_Job_DeleteExpiredSessions名字的作业,这个作业是用来处理过期的Session的,这个我们不用管他。这样我们第一步就完成了!
更改Web.Config 配置文件,在<system.web>节点当中添加<sessionState mode="SQLServer"sqlConnectionString="datasource=192.168.1.110;uid=sa;password=sa" cookieless="false" timeout="200" />如果配置文件当中已经拥有这个配置节点的话只需要按照格式来修改就可以了!修改完之后程序当中的Session值就自动保存到服务器了!但是因为我们装的是1.1 InstallSqlState.sql所以会有问题,(因为服务器装的是2.0)那么我们现在来解决这个问题。
首先我们要配置给SQL装上ASP.NET 2.0 版会话状态功能那么我们最先需要的是配置个用户权限。首先在最高管理员权限组里面找到NETWORK SERVICE并且添加到管理员组里面,之后打开SQL Server查询分析器在安全性—登录名里面添加NETWORK SERVICE之后把他的权限配置成最高,让他有权安装ASP.NET 2.0 版会话状态功能,之前的准备工作完成了!那么我们可以接下来的工作了,也是较为主要的工作,添加ASP.NET 2.0版会话功能。我们只需要把如下代码SqlServices.InstallSessionState("数据库地址",null,SessionStateType.Persisted);别忘记命名空间哦:using System.Web.Management;之后运行下这个程序。之后就OK了!你现在就可以运行有Session值的页面了,之后在去ASPState库里面看下这表里的数据吧!你会发现多出你存的Session值了!但是值是加密的哦!你是看不到的哦!
成功之后你就可以把安装的那段代码去掉了!现在来调试你的数据吧! 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值