【问题标题】:Cross domain session, same application (ASP.NET)跨域会话,同一应用程序 (ASP.NET)
【发布时间】:2009-03-18 15:14:36
【问题描述】:

如何保留域之间的会话?它们都属于同一个asp.net-application。

【问题讨论】:

  • 正如Shoban 在下面回答的那样,只需将 添加到您的 web.config。

标签: asp.net


【解决方案1】:

如果没有自定义实现,我认为您无法做到这一点。您的会话 ID 存储在浏览器的 cookie 中,并随每个请求发送回服务器。这就是服务器如何知道你是谁以及哪个会话对象是你的。当您切换域时,浏览器不再发送此 cookie(cookie 是按域发送的,因此服务器将永远不会看到原始会话 cookie,因此会为新域生成新的会话 cookie。

我不知道您的应用程序架构与用户何时从一个域转到另一个域相关,但您可能只能在用户第一次访问每个域时向浏览器发送一个通用 cookie时间并使用它来关联服务器上的内存对象。

【讨论】:

    【解决方案2】:

    假设您在托管应用程序的网站的主机标头中指定了多个域,并且应用程序驻留在不使用任何形式的网络花园的应用程序池中,它将由单个工作人员提供服务处理 w3wp.exe。只要您的 web.config 没有指定要存储的会话是 outproc 而不是 inproc,那么会话数据将可用于驻留在您的应用程序中的所有代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-09
      • 2011-02-12
      • 2023-03-15
      • 1970-01-01
      • 2011-02-21
      • 1970-01-01
      • 2011-01-31
      • 1970-01-01
      相关资源
      最近更新 更多