【发布时间】: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