ASP Session进程外存储(分布式Web服务器Session状态保持)
2017-12-31 17:40
375 查看
一、Session默认存储在W3WP.exe进程中(进程内存储),该方式速度快,但是内存小,易丢失(断电、服务器意外停止会丢失)。
二、Session分布式状态保持:(Session进程外存储,存放在状态保持服务器中):(不同的Web服务器(分布式)共享Session)(此时Session中的数据(对象)必须支持序列化)
1、启动服务:开启"ASP.NET 状态服务"(进程中会多一个aspnet_state.exe的进程)
2、配置文件(Web.config)添加配置:
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424"/> (Session存在Session状态保持服务器中)(localhost表示存放Session的服务器的地址)
3、如果SessionState服务器不是本地服务器(不是localhost),那么需要修改注册表,允许远程使用:
位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.03019 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters 把0改为1。
三、Session分布式状态保持:(Session进程外存储,存放在数据库中)
1、新建aspstate数据库(名称固定的数据库)
2、以管理员身份运行aspnet_regsql.exe 位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.03019 (安装向导中选择aspstate数据库) (aspstate数据库会新建一些数据表)
3、运行sql脚本:InstallPersistSqlState.sql (需要使用SQLServerAgent服务) (临时储存区:InstallSqlState.sal & UninstallSqlState.sql 永久储存区:InstallPersistSqlState.sql & UninstallPersistSqlState.sql) (运行后会多出两张数据表,用于存放Session) 位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.03019
4、配置文件(Web.config)添加配置:<sessionState mode="SQLServer" /> (不用指定数据库连接字符串,默认放在aspstate数据库中)
二、Session分布式状态保持:(Session进程外存储,存放在状态保持服务器中):(不同的Web服务器(分布式)共享Session)(此时Session中的数据(对象)必须支持序列化)
1、启动服务:开启"ASP.NET 状态服务"(进程中会多一个aspnet_state.exe的进程)
2、配置文件(Web.config)添加配置:
<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424"/> (Session存在Session状态保持服务器中)(localhost表示存放Session的服务器的地址)
3、如果SessionState服务器不是本地服务器(不是localhost),那么需要修改注册表,允许远程使用:
位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.03019 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\aspnet_state\Parameters 把0改为1。
三、Session分布式状态保持:(Session进程外存储,存放在数据库中)
1、新建aspstate数据库(名称固定的数据库)
2、以管理员身份运行aspnet_regsql.exe 位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.03019 (安装向导中选择aspstate数据库) (aspstate数据库会新建一些数据表)
3、运行sql脚本:InstallPersistSqlState.sql (需要使用SQLServerAgent服务) (临时储存区:InstallSqlState.sal & UninstallSqlState.sql 永久储存区:InstallPersistSqlState.sql & UninstallPersistSqlState.sql) (运行后会多出两张数据表,用于存放Session) 位置:C:\WINDOWS\Microsoft.NET\Framework\v4.0.03019
4、配置文件(Web.config)添加配置:<sessionState mode="SQLServer" /> (不用指定数据库连接字符串,默认放在aspstate数据库中)
相关文章推荐
- 分布式系统状态下redis存储asp.net session使用第三方Providers驱动
- Web.Config中设置Session问题,导致无法向会话状态服务器发出会话状态请求
- asp.net集群中保持session状态
- ASP.NET中Session的状态保持方式
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- Android用WebView获取sessionid保持登录状态
- ASP.NET中Session的状态保持方式浅议
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- ASP.NET中Session的状态保持方式
- IIS 之 Web 服务器上的 ASP.NET 进程模型设置
- django之状态保持-使用redis存储session
- ASP.NET中Session的状态保持方式
- ASP.NET中Session的状态保持
- Android 通过httpclient请求web服务器,并解决用户登录session保持
- asp.net状态保持viewstate,session,cookie,application
- [保存]C# 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- ASP.NET中Session的状态保持方式浅议
- 使用HttpWebRequest提交ASP.NET表单并保持Session和Cookie
- ASP.NET状态保持cookie与session