一、保存session到sql server,须要指定Sql Server服务器,这种方法由于要读写数据库最慢sql
<sessionState mode="SQLServer" sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes" cookieless="false" timeout="20" />
二、 保存session到windows进程,要使用这种方法,须要打开aspnet_state.exe服务,经过此方法,咱们能够将session保存到其它服务器,这样能够实现多台服务器的session共享数据库
<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42626" cookieless="false" timeout="20" />
三、默认状况,.net将session保存到当前进程中,这种方式最快,可是不能多台服务器共享sessionwindows
<sessionState mode=”InProc” cookieless=”false” timeout=”20” />
课外阅读浏览器
ASP.NET中客户端Session状态的存储服务器
在咱们上面的Session模型简介中,你们能够发现Session状态应该存储在两个地方,分别是客户端和服务器端。客户端只负责保存相应网站的SessionID,而其余的Session信息则保存在服务器端。在ASP中,客户端的SessionID实际是以Cookie的形式存储的。若是用户在浏览器的设置中选择了禁用Cookie,那末他也就没法享受Session的便利之处了,甚至形成不能访问某些网站。为了解决以上问题,在ASP.NET中客户端的Session信息存储方式分为:Cookie和Cookieless两种。cookie
ASP.NET中,默认状态下,在客户端仍是使用Cookie存储Session信息的。若是咱们想在客户端使用Cookieless的方式存储Session信息的方法以下:session
找到当前Web应用程序的根目录,打开Web.Config文件,找到以下段落:less
<sessionState
mode="InProc"
stateConnectionString="tcpip=127.0.0.1:42424"
sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
cookieless="false"
timeout="20"
/>tcp
这段话中的cookieless="false"改成:cookieless="true",这样,客户端的Session信息就再也不使用Cookie存储了,而是将其经过URL存储。关闭当前的IE,打开一个新IE,从新访问刚才的Web应用程序,就会看到相似下面的样子:其中,http://localhost/MyTestApplication/(ulqsek45heu3ic2a5zgdl245)/default.aspx中黑体标出的就是客户端的Session ID。注意,这段信息是由IIS自动加上的,不会影响之前正常的链接。网站