【发布时间】:2009-03-18 15:14:36
【问题描述】:
如何保留域之间的会话?它们都属于同一个asp.net-application。
【问题讨论】:
-
正如Shoban 在下面回答的那样,只需将
添加到您的 web.config。
标签: asp.net
如何保留域之间的会话?它们都属于同一个asp.net-application。
【问题讨论】:
标签: asp.net
如果没有自定义实现,我认为您无法做到这一点。您的会话 ID 存储在浏览器的 cookie 中,并随每个请求发送回服务器。这就是服务器如何知道你是谁以及哪个会话对象是你的。当您切换域时,浏览器不再发送此 cookie(cookie 是按域发送的,因此服务器将永远不会看到原始会话 cookie,因此会为新域生成新的会话 cookie。
我不知道您的应用程序架构与用户何时从一个域转到另一个域相关,但您可能只能在用户第一次访问每个域时向浏览器发送一个通用 cookie时间并使用它来关联服务器上的内存对象。
【讨论】:
假设您在托管应用程序的网站的主机标头中指定了多个域,并且应用程序驻留在不使用任何形式的网络花园的应用程序池中,它将由单个工作人员提供服务处理 w3wp.exe。只要您的 web.config 没有指定要存储的会话是 outproc 而不是 inproc,那么会话数据将可用于驻留在您的应用程序中的所有代码。
【讨论】: