Session存储在数据库
1。执行NET中微软自带的sql语句 C:"WINDOWS"Microsoft.NET"Framework"v2.0.50727"InstallSqlState.sql 此时可以执行这个语句查看 use tempdb select * from AspStateTempSessions ;
2。配置web.config文件使Session保存到数据库: <sessionState mode="SQLServer"allowCustomSqlDatabase="true" sqlConnectionString="data source=localhost;User ID=yourID;Password=yourpassword;Initial Catalog=ASPState" cookieless="false" timeout="20"> </sessionState> ;
这样就解决了在同一个IIS下,利用数据库存储SESSION,跨不同页面会话的问题。
解决同一个域下不同的IIS(IP地址不同的服务器)访问共享的SESSION
1。首先必须说明的是SESSION能在二级域中共享,但是前提是一级域必须是相同的。如mail.163.com;news.163.com等,其中的163.com是一级域;
2。修改本地的域可以直接按这个路径C:\WINDOWS\system32\drivers\etcC:\WINDOWS\system32\drivers\etc
找到路径下的hosts文件;如:127.0.0.1 localhost(别名),将别名改成一级域相同,二级域不同的域名(如果是多个IP地址的话就这样);
3。配置web.config文件
<httpCookies domain="salse.com" /> 其中的domain后跟一级域名;
2。配置web.config文件使Session保存到数据库: <sessionState mode="SQLServer"allowCustomSqlDatabase="true" sqlConnectionString="data source=localhost;User ID=yourID;Password=yourpassword;Initial Catalog=ASPState" cookieless="false" timeout="20"> </sessionState> ;
这样就解决了在同一个IIS下,利用数据库存储SESSION,跨不同页面会话的问题。
解决同一个域下不同的IIS(IP地址不同的服务器)访问共享的SESSION
1。首先必须说明的是SESSION能在二级域中共享,但是前提是一级域必须是相同的。如mail.163.com;news.163.com等,其中的163.com是一级域;
2。修改本地的域可以直接按这个路径C:\WINDOWS\system32\drivers\etcC:\WINDOWS\system32\drivers\etc
找到路径下的hosts文件;如:127.0.0.1 localhost(别名),将别名改成一级域相同,二级域不同的域名(如果是多个IP地址的话就这样);
3。配置web.config文件
<httpCookies domain="salse.com" /> 其中的domain后跟一级域名;