IIS中Session的配置

①.Inproc是缺省的设置
表示会话状态要由ASP.NET存储到内存中,而且不用Cookie来传递会话ID。
示例:

<sessionState mode="InProc" cookieless="false" timeout="20" />

②.mode属性设为Off
整个网站禁用会话状态,可在Web.config文件中将sessionState元素的mode属性设为Off。
假如某个网页不需要访问Session对象,应将那个页的Page预编译指令的EnableSessionState属性设为False。

③.StateServer会话管理

示例:

<sessionState mode="StateServer"   stateConnectionString="tcpip=myserver:42424" cookieless="false" timeout="20" />

端口修改:
通过在cmd中输入指令regedit来修改注册表
HKLM\SYSTEM\CurrentControlSet\Services\aspnet_state中的Port值

④.用SQL Server进行会话管理

具体配置如下:

①、运行Framewor安装目录下的InstallSqlState.sql文件,framework的安装目录为C:/WINDOWS/Microsoft.NET/Framework/v4.0.30319

②、这时会提示错误,因为该应用没有注册。此时需要在命令行下注册该应用,运行如下命令:

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

注:为数据库名为ASPState ,为数据库实例名像 IBM-PC\SQLEXPRESS (若数据库不是2005的不要写ip地址,否则会连接失败),为sa(或与sa同等权限的), 为 sa用户名的密码会话定义成功,但是会提示在web应用中进行相应的配置,此时查看SQLServer会发现增加了数据库ASPState,但是没有表。

③、在命令行下运行如下命令:

aspnet_regsql.exe  -ssadd -sstype p -S <SQL Server IP> -U <User Name> -P <Password>

该命令对此应用进行了持久化操作。这时会看到ASPState数据库里面多了两张表,ASPStateTempSession就可以用来保存Session。应用时,需要在webconfig中添加如下配置:

配置节点为:

<sessionState mode="SQLServer"  sqlConnectionString="server=<Server IP>;database=<Database Name>;uid=<User Name>;pwd=<Password>;"cookieless="false" timeout="20" />

示例:

<sessionState mode=“SQLServer” sqlConnectionString="server=;database=;uid=;pwd=;"cookieless=“false” timeout=“20” />

虽然timeout设置的是20分钟但是 过期以后仍然可以获取到session的值。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值