【问题标题】:passing session variable from without www to with www将会话变量从不带 www 传递到带 www
【发布时间】:2014-07-21 03:09:34
【问题描述】:

会话变量未在 without wwwwith www 的 url 之间传递 我已经在我的网站中实现了 url 重写。

示例: 我想将 Session["hashtable"] 从http://domain.com/product.aspx 页面传递给http://www.domain.com/shoppingcart.aspx

会话没有在这些 url 之间传递, 在 web.config 中尝试了很多设置添加 httpcontext defaultname=.domain.com 还是不行。

对此的任何解决方案,对我很有帮助。

提前致谢

库马尔

【问题讨论】:

    标签: session web


    【解决方案1】:

    我自己从来没有做过这样的事情,但是根据这个问答,How can I share a session across multiple subdomains in ASP.NET?,你应该可以通过将这一行添加到你的 web.config 文件来做到这一点:

    <httpCookies domain=".usa.com"/>
    

    再一次,我还没有尝试过。但我认为这是有道理的。

    我将您的domain.com 视为与www.domain.com 相同的“子域”。从技术意义上说,这真的不是真的,但在很多情况下,无论如何我都看到它是这样工作的,所以我希望这将是其中一种情况。

    编辑:

    我刚刚看到这个帖子,ASP.NET sharing session across multiple wildcard subdomains,这让我觉得这可能真的行不通,毕竟。如果没有,请告诉我,我将删除此答案。

    编辑 2:

    好的,我正在搜索并找到大量有这个问题的人。它听起来好像它可能只是不可行。也就是说,这些人根本没有任何答案。所以可能只是问这个问题的人非常不走运,或者这可能只是一些鲜为人知的解决方案,或者可能是不可能的。因此,我在上面添加了我的评论,并将其称为我的“答案”的一部分。

    为了本网站的良好 SEO 实践,从您提供的路径来看,它似乎与零售相关,您可能应该在任何时候将所有请求重定向到您的 www. 域,然后再设置会话变量。如果你不能这样做,例如如果你的 www. root 与您的空的不同(无论如何您都应该更改它,为了用户的利益),启动另一个子域并将所有请求指向该子域。然后,您将拥有两个处于同一级别的域,而我发布的第一个解决方案应该可以处理这个问题。

    【讨论】:

      猜你喜欢
      • 2011-10-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-24
      • 2018-12-01
      相关资源
      最近更新 更多