[英]SQL Server Session State, web farm, and IIS configuration
所以我使用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的计算机将看不到彼此的会话。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.