session保存在专门的StateServer中,该种方式,性能损失比sql略好。比inproc据说有10%-15%的性能损失。怎么使用StateServer 服务器呢?
1、初始化StateServer服务器
启动ASP.NET 状态服务【aspnet_state】,该服务默认是手动启动的,可以通过修改注册表,设置为自动启动并允许远程连接。修改方法如下:
修改注册表: [HKEY_LOCAL_MACHINE/SYSTEM/ControlSet001/Services/aspnet_state/Parameters]
设置 AllowRemoteConnection = 1 , 设置 Port = 42424 (十进制,默认即为42424)
AllowRemoteConnection ,0仅能本机使用,1可以供其他机器使用.
Port是服务的端口号
2、修改webconfig配置文件
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="60"/>
其中stateConnectionString中的tcpip表示StateServer服务器的ip和端口。
注意StateServer不支持负载均衡,如果是大并发请保存在sql中。
参考资料:
使用一个 SQL 数据库 SQL Server 会话状态的所有应用程序可能导致瓶颈
http://support.microsoft.com/kb/836680/zh-cn
ASP.NET 中 Session 实现原理浅析 [1] /[2]
http://www.cnblogs.com/flier/archive/2004/08/04/30226.html
http://www.cnblogs.com/flier/archive/2004/08/07/30902.html
理解Session State模式+ASP.NET SESSION丢失FAQ [翻译]
http://www.cnblogs.com/tonyqus/archive/2006/10/24/522618.html
分享到:
相关推荐
主要介绍了C#实现简单获取及设置Session类,涉及C#针对session的设置及获取的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
同远OA+HR+CRM综合办公管理系统源码 ...2. web.config 中下列代码已注释,请现在服务器中已开启 StateServer 服务,然后再取消注释。 <!--<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.
解决跨子域网站之间的SESSION取值问题,简单实现,只需要改改配置文件就OK.
将web.config打开,会看到有一行是<sessionState mode=”InProc” stateConnectionString=”tcpip timeout=”20″/>,如果没有,请在的下一行添加,再将其中的InProc改为StateServer,保存即可。 解决方法: 如果...
Asp.net解决session丢失问题的两种方案,以及session丢失的原因。参考一些网上资料,自己总结出来解决方案,顺便附带两个测试案例。还有不清楚的请联系我QQ:394023002 附加信息:周
5章_第7节 使用Session对象模拟实现购物车 Session存储模式(StateServer Sqlserver的实现)
1、在WEB.CONFIG文件中修改SESSION状态保存模式,如:<sessionState mode=’StateServer’ stateConnectionString=’tcpip sqlConnectionString=’data source=127.0.0.1;Trusted_Connection cookieless=’true’ ...
<sessionState mode=StateServer stateConnectionString=tcpip sqlConnectionString=data source=127.0.0.1;Trusted_Connection cookieless=false timeout=40/> 2、在Global.asax中添加启动启动ASP.NET 状态服务...
最近在做ASP.NET项目时,测试网站老是取不出Session中的值,在网上搜索了一下,找到一些解决方法,记录在这里。最后使用存储在StateServer中的办法解决了问题
注意: 只有在 Web config 文件中的 sessionstate 模式设置为 InProc 时 才会引发 Session End 事件 如果会话模式 设置为 StateServer 或 SQLServer 则不会引发该事件 Application Lock ; Application["...
If session mode is set to StateServer // or SQLServer, the event is not raised. } void Application_BeginRequest(object sender, EventArgs e) { Response.Write("\t\n "+HttpContext.Current....
// 注意: 只有在 Web.config 文件中的 sessionstate 模式设置为 // InProc 时,才会引发 Session_End 事件。如果会话模式设置为 StateServer // 或 SQLServer,则不会引发该事件。 Application["onlineCount"] ...
sessionState timeout=”timeout in minutes” cookieless=”[true|false]” mode=”Off|InProc|StateServer|SQLServer” stateConnectionString=”tcpip=server:port” stateNetworkTimeout=”for network ...
此示例将所有状态文件存储在从给定的-data_path开始的文件系统中。 使用给定的-data_path=/data/storage状态 url http://<server>/folder/name-for-your-state将被扩展以将状态存储在名为/data/storage/folder/name...
java8 rt.jar源码Flink 广播状态示例 这是一个正在进行的工作。 班级 类Dataserver将侦听端口 7777 ...在运行状态服务器的终端中输入乘数以查看正在处理的更新。 输出还将显示哪个 Flink 进程处理了
9:session设置 <sessionState mode="StateServer" cookieless="false" stateConnectionString="tcpip=127.0.0.1:42424" timeout="600" stateNetworkTimeout="14400" /> 10:上传员工照片 11:员工导入
解压密码:qnncd 1.电脑或服务器应启动StateServer 服务 2.应用程序池: .net 2.0 经典 3.用户名:admin 密码:admin