浅谈ASP.NET中的三种会话状态

来源:互联网 发布:淘宝上组装机几千块钱 编辑:程序博客网 时间:2024/05/18 14:15

浅谈ASP.NET中的三种会话状态

     常用的ASP.NET的会话状态中有三种.分为进程内会话状态、状态服务器会话状态、SQL Server 会话状态

   

     先谈谈进程内会话状态(Inprocess)这是一种默认的模式,但是只要在Web.config中进行简单的配置就可进行更改,具体内容下面会进行说明。进程内会话状态是一种最快,但是最不稳定的一种模式。如果重启IIS或服务器的话,会话状态将会消失。这种情况适合在一台服务器中或这没有WEB场的情况中。如果你关注的速度而不是稳定相建议你选择这种方式。

 

设置如下  <SessionState .... mode="InProc">

 

      状态服务器会话局模式是ASP.NET中的新模式,但是它的速度比进程内会话慢,应为从会话状态到另一种会话状态要穿越不同的服务器和边界,因此会减慢其访问的速度。实际上会话状态是存储在一个名为ASP.NET的单独进程中,使用该进程的话需要将状态服务器设为启动。

ASP.NET状态服务器进程是单独与ASP辅助进程和IIS应用程序池的单独进进程,如果加此进程运行在另一台服务器上的话,甚至可以在IIS或服务器重启的时候保留会话状态,并是会话状态可以运行在WEB场中的多个服务器。

 

具体设置:

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

 

     最后谈谈SQL Server会话状态

     SQL Server状会话状态将会话状态保存在一个SQL Sever数据库服务器中,这样保证了存放会话状态的服务器或IIS重启后,可以完全保存之前的会话状态,同时也可以同时使用多台SQL Server服务器构成群集,让多台服务器同时使用会话状态,这样保证了会话状态的稳定性。但是要在SQL Server服务器中是用SQL Server会话状态的话,必须安装ASP.NET会话状态数据库。

  具体设置:

<configuration>
  <system.web>

<sessionState mode="SQLServer"
      sqlConnectionString="Integrated Security=SSPI;data
        source=ASPNETServer;" />
  </system.web>
</configuration

 

原创粉丝点击