使用ASP.NET状态服务维护会话信息

默认情况下,会话(Session)信息是存放在进程内的,所谓进程内,就是指IIS专门创建的w3wp进程。很显然,如果进程因故崩溃,就会丢失会话信息。同时,因为是在进程内,所以就无法跨进程进行共享,这对于横向扩展(负载均衡设计)是一个障碍。

那么除了将会话信息存放在进程内这种方式之外,还有没有其他方式呢?ASP.NET提供了另外两种,第一种是用一个所谓的ASP.NET状态服务来维护信息,如下设置(在web.config里面)

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false" timeout="20"></sessionState>

还有一种是通过SQL Server来维护信息。但该方法速度最慢。

<sessionState mode="SQLServer"  sqlConnectionString="Data source=127.0.0.1;Integrated security=true" cookieless="false" timeout="20"></sessionState>

所需要的数据库可以通过如下方式添加

image

posted @ 2008-08-01 21:23  陈希章  阅读(570)  评论(0编辑  收藏  举报