Session进程外存储

Posted BoSet

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Session进程外存储相关的知识,希望对你有一定的参考价值。

平时保存Session,其实是把Session存到服务器的w3wp.exe这个工作进程中,但是如果要做服务器集群,那么就必须要解决Session跨域访问问题,下面有几种解决方案

一:另外搞一台专门存Session的服务器,在<system.web>下配置一个节点<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:1111"/>,开发中不用

二:把Session存到数据库中

  1>创建一个名叫ASPSTATE的数据库

  2>找到C:\Windows\Microsoft.NET\Framework64\v4.0.30319这个路径下的aspnet_regsql.exe文件,运行安装一下(解决权限问题)

技术分享技术分享

技术分享技术分享

执行完第二步ASPSTATE这个数据库就会出现以上这些表,微软默认建好的,不用管。

  3>C:\Windows\Microsoft.NET\Framework64\v4.0.30319这个路径下的这个sql文件:InstallPersistSqlState.sql,把这个文件拖到Sql Server中执行一下

   技术分享执行完成后,数据库就多出这两个表

  4>在项目中的web.config文件中<system.web>节点下添加<sessionState mode="StateServer" />,stateConnectionString这个属性不写就默认把session存到下图你配置的数据库里

 技术分享

  5>配置完成后,跟平常一样Session["LoginUserInfo"] = LoginUserInfo;这样存数据就行,取数据也是,注意如果存对象,必须先序列化再存

三:存数据到Memcache中

四:存数据到Redis中

以上是关于Session进程外存储的主要内容,如果未能解决你的问题,请参考以下文章

逻辑卷LVM--linux外存储

将SQL查询数据导出到Excel并在网络外存储位置excel

PostgreSQL数据库修改行外存储(TOAST)可能遇到的坑

PostgreSQL数据库修改行外存储(TOAST)可能遇到的坑

(django)10Session

创建属于其他Session的进程