[Session Management] State Server 管理 Session

公司计划升级所有电脑的操作系统,在导入的前置准备阶段,进行系统测试时,居然发现~~

公司计划升级所有电脑的操作系统,

在导入的前置准备阶段,进行系统测试时,

居然发现~~

负责的线上系统,如果由IE6 升级 IE8 之后的版本,

会发现使用者打完账号与密码登入后,开始鬼打墙的情况,

一直出现登入首页的情况。

写了一些测试程序,发现,原来是Session的问题,

由于系统有采用Hardware NLB的设定,

而且登入后的网页,有再触发另开新一个窗口,

发现两个窗口的Physical Host IP是不一样的,

Session无法在两台不同的Server间共用。

于是乎,很用力的来去Google看有没有什么前车之鉴可以参考,

发现,其实蛮多人遇到这个问题。

解决方法就是要采用Session Management,

主要分为两种方法(1) Inproc (2) Outproc

其中Outproc又分两种方法(a)State Server (b) SQL Server

每个方法各有其不同的优缺点。

目前我是选择State Server的作法,

很多文章都说,以性能来说存取速度比SQL Sever来的好,

但是,可能会对State Server的内存需求较大,

所以,上线后有三不五时去观察一下State Server上的内存,

本人还是怕会弄挂一堆其它同事负责的系统。

Satae Server设定的步骤大致如下:

(1)使用regedit修改系统注册表

(2)找到HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesaspnet_stateParametersPort 将 AllowRemoteConnection 改成 1

PS1.视需要修改Port Number(默认为42424)

PS2.注意防火墙的Port也要设定,像我是Internet --> Intranet ,就需要变更相关设定

(3)到[服务],将[ASP 状态服务]设定启动

  • 二台AP WebConfig设定

    mode="StateServer"

    stateConnectionString="tcpip=Server ip:42424"

    stateNetworkTimeout="10"

    cookieless="false"

    timeout="20"

    />

PS1.cookieless也是要依本身条件选择

PS2.也要记得将两台的Machine Key设定相同,才会用统一的规则去存取State Server的数据

  • 参考网址:

Config参数设定说明

http://msdn.microsoft.com/zh-tw/library/h6bb9cz9(VS.80).aspx

不知道未来,还会不会遇到这种类似情况,还是记录下来~~

之后,总是有个地方可以再查阅。

原文:大专栏  [Session Management] State Server 管理 Session

原文地址:https://www.cnblogs.com/chinatrump/p/11505537.html

时间: 2024-11-01 18:07:57

[Session Management] State Server 管理 Session的相关文章

使用ASP.NET State Server实现多应用程序间共享Session State

原以为ASP.NET State Server原生支持多程序间共享SESSION,以为在同一服务器上 & 同一根域名下部署的多个应用程序间设置了相同了<sessionState/>和<machineKey/>事情就成了! 事实证明是自己TOO YOUNG TOO SIMPLE.根本不WORK! BING了一大轮,再找了一下度娘,看到以下较有参考价值的文章: http://forums.asp.net/t/1759392.aspx?Share+sessions+between

Session Management

Qt 5.3Session Management Qt 5.3.2 Reference DocumentationContentsShutting a Session DownProtocols and Support on Different PlatformsGetting Session Management to Work with QtTesting and Debugging Session ManagementSession ManagementA session is a gro

session management会话管理的原理

web请求与响应基于http,而http是无状态协议.所以我们为了跨越多个请求保留用户的状态,需要利用某种工具帮助我们记录与识别每一次请求及请求的其他信息.举个栗子,我们在淘宝购物的时候,首先添加了一本<C++ primer>进入购物车,然后我们又继续去搜索<thinking in java>,继续添加购物车,这时购物车应该有两本书.但如果我们不采取session management会话管理的话,基于http无状态协议,我们在第二次向购物车发出添加请求时,他是无法知道我们第一次添

Unable to make the session state request to the session state server处理

Server Error in '/' Application. Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same.  If the server is on a remote machine, p

Unable to make the session state request to the session state server处理方法

Server Error in '/' Application. Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same.  If the server is on a remote machine, p

Datasnap 服务端 (Server)Session 管理

Datasnap 服务端 (Server)Session  管理:  http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Server_Side_Session_Management 获取当前线程的会话(Session)--Getting the Current Thread's Session From a server method, for example, you can obtain the current thread's sessio

转: 解决【Unable to make the session state request to the session state server】

错误描述: Unable to make the session state request to the session state server. Please ensure that the ASP.NET State service is started and that the client and server ports are the same.  If the server is on a remote machine, please ensure that it accept

使用Spring Session做分布式会话管理

在Web项目开发中,会话管理是一个很重要的部分,用于存储与用户相关的数据.通常是由符合session规范的容器来负责存储管理,也就是一旦容器关闭,重启会导致会话失效.因此打造一个高可用性的系统,必须将session管理从容器中独立出来.而这实现方案有很多种,下面简单介绍下: 第一种是使用容器扩展来实现,大家比较容易接受的是通过容器插件来实现,比如基于Tomcat的tomcat-redis-session-manager,基于Jetty的jetty-session-redis等等.好处是对项目来说

Application、Server和Session对象

(一)Application对象   Application对象是Web上的一个应用程序级的对象,可以是一组ASP文件,这些ASP文件一起协同工作来完成某项任务.用户与存储和访问来自任何页面的变量. Application对象包含的数据可以被应用程序的所有用户使用,并且可以在网站运行期间持久保存.可以在一个地点改变这些信息,然后这些改变会自动反映在所有的页面上. Application对象的事件: (二)Session Session代表了服务器与客户端之间的"会话",作用时间从用户到