【问题标题】:IE8 losing session while Firefox works fineIE8 丢失会话,而 Firefox 工作正常
【发布时间】:2010-02-21 14:23:39
【问题描述】:

我为我的一位客户创建了一个显示问卷的网站。这些问题是通过 JSONP 从远程站点上运行的 MVC 应用程序中提取的。

为了识别用户,我使用了会话。但是,由于不能保证每个请求的会话 ID 都相同,因此我将自己的会话 ID 存储在会话变量中。

当用户第一次访问该站点时,会在数据库中创建会话并设置会话变量,以便我可以将数据库会话与用户的会话匹配。

使用 Firefox 浏览网站时一切正常。

当我使用 IE 8 显示网站时,会话会在第二次请求提供问题的服务时重置。此行为仅在用户使用外部 Web 时发生。在内部,或在调试时不会出现问题。

为了让错误更加离奇:2 月初,我们使用 IE 和 Firefox 测试了该应用程序。一切都很顺利(内部和外部)。

那么有没有人已经遇到过这种行为并且可以提供一些关于如何修复它的见解?

PS:应用程序在 IIS 6 上运行。 PPS:我有一个解决办法,但是,这需要一些我宁愿避免的重新编码。

【问题讨论】:

  • 你有什么修复方法?也许这将提供有关问题原因的线索。
  • 我们应该在网站的每个索引页面上放置警告的更多理由,“使用 IE 风险自负!” :-)
  • @The Elite Gentleman:这不是很有帮助:-(尤其是在商业应用程序中,大量用户使用 IE 时!!!
  • @Ray:我的解决方法是不使用会话并与客户端交换 ID。不是很好,但我认为它可能会起作用。但是,我的客户要求解释为什么会发生此错误,因为他必须将其出售给最终客户。
  • 这可能是 IE8 上的安全/cookie 设置。其他电脑上的 IE8 也会出现这种情况吗?

标签: c# model-view-controller asp.net-mvc-2 iis-6 internet-explorer-8


【解决方案1】:

我认为 IE 只会将 cookie 发送回它的来源,并且对于此类事情在互联网区域中是非常严格。在“本地”区域不那么严格。 Firefox 可能没有那么严格。

IE默认更多保护用户隐私的事实是double edged sword。

【讨论】:

  • 听起来很有希望,但是,如果我只有时间来测试它。但是,这种解释至少听起来很合理。
  • @Ian Ringrose:从我收集的数据来看,这更像是一把双刃剑 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-29
  • 1970-01-01
  • 1970-01-01
  • 2011-04-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多