会话变量不与Internet Explorer 9一起存储

时间:2012-07-22 18:55:22

标签: asp.net httpcontext sessionid

我正在尝试使用asp.net中的代码将会话变量从一个页面传递到另一个页面:

HttpContext.Current.Session["FacebookID"] = id;

这适用于Firefox和Chrome,但是当我尝试从Internet Explorer 9中的其他页面获取该值时,它将无法工作,我甚至在兼容模式下尝试过。它只返回null。

有没有人对我的会话变量无法存储的原因有任何建议?

2 个答案:

答案 0 :(得分:3)

你在IE中关闭了Cookies吗?如果是这样,除非您将会话状态更改为无Cookie,否则它将无法跟踪您的会话...

答案 1 :(得分:1)

我看到你得到了一个答案,但对于那些遇到同样问题的人来说: 它可能是隐私首选项(P3P)问题。在这种情况下,你必须添加一个P3P标题,如...

HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\""); 

阅读Peter Bromberg的博客,了解更多信息:http://petesbloggerama.blogspot.se/2007/08/aspnet-loss-of-session-cookies-with.html