解决IIS设置多个工作进程中Session失效的问题

Posted 阿旭92312

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决IIS设置多个工作进程中Session失效的问题相关的知识,希望对你有一定的参考价值。

利用StateServer实现Session共享

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中。

以上是关于解决IIS设置多个工作进程中Session失效的问题的主要内容,如果未能解决你的问题,请参考以下文章

IIS中如何设置服务器session丢失问题。

IIS应用程序池最大进程数设置

空间session失效的解决方法

数据库连接池和session

windows7里的IIS里怎么设置session会话超时时间

网站存储session的方案