我正在尝试使用asp.net中的代码将会话变量从一个页面传递到另一个页面:
HttpContext.Current.Session["FacebookID"] = id;
这适用于Firefox和Chrome,但是当我尝试从Internet Explorer 9中的其他页面获取该值时,它将无法工作,我甚至在兼容模式下尝试过。它只返回null。
有没有人对我的会话变量无法存储的原因有任何建议?
答案 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