Jon*_*ski 6 sql-server asp.net iis-7 sql-session-state
所以我使用SQL Server 2008和临时数据库设置SQL Server会话状态,今天我决定只查看表中的数据,以便在ASPStateTempApplications表中找到它:
AppId AppName
538231025/lm/w3svc/1/root
611758131/lm/w3svc/3/root
802488340/lm/w3svc/4/root
-940085065/lm/w3svc/4/root/webapp
685293685/lm/w3svc/5/root
1210055478/lm/w3svc/5/root/webapp
我们有2个负载平衡的Web服务器.
当我查看两个服务器的Web应用程序的ID时,我看到web1的app1的id为4,web2的app1的id为5.同样的事情发生在另一个应用程序中.web1的app2的id为1,web2的app2的id为3.
我的常识告诉我,由于会话ID使用appid,因此Web服务器不会共享会话.我对么?如果是这样,为什么这个小细节在文档中不那么明显?我应该在两个Web服务器上使ID匹配吗?
在创建SessionId期间使用AppId,以帮助避免从一个应用程序到另一个应用程序的冲突.它是通过计算IIS应用程序路径的哈希值创建的.
在您的环境中,流程可能是这样的:
使具有不同AppIds的多个服务器共享相同会话的净效果是,一个服务器创建的ID不会与来自另一个服务器的ID冲突,具有不同AppIds的计算机将不会看到彼此的会话.
| 归档时间: |
|
| 查看次数: |
3386 次 |
| 最近记录: |