在更新到ASP.NET 4后,IE中的会话“立即过期”? (FF工作正常)

时间:2012-04-13 20:52:38

标签: asp.net session cookies .net-4.0

我将.net 2.0应用程序升级到net 4.0,现在如果我尝试使用IE登录,会话会立即过期。

有没有人对在哪里寻找这个问题有任何想法?

Firefox可以正常登录。

感谢。

编辑,更多信息:检查IE的cookie和firefox的cookie,似乎没有在I.E中创建cookie,但它是在firefox中创建的。 关于为什么会这样的任何想法?仍然深入研究但很难......

最后编辑;修复:原来这与asp 4.0无关。我升级了应用程序并将其设置在子域上进行测试以确保一切正常,并且子域中有一个_。经过大量研究,IE不会从带有_的域中获取cookie。这显然是出于设计目的而完成的,因为技术上DNS规则禁止域中的下划线。改为 - 它有效。

2 个答案:

答案 0 :(得分:2)

最后编辑;修复:原来这与asp 4.0无关。我升级了应用程序并将其设置在子域上进行测试以确保一切正常,并且子域中有一个_。经过大量研究,IE不会从带有_的域中获取cookie。这显然是出于设计目的而完成的,因为技术上DNS规则禁止域中的下划线。改为 - 它有效。

答案 1 :(得分:0)

如果你的应用程序在Firefox上工作正常,那么可能是因为IE 8. IE 8有不同的cookie处理设置。以下是该问题的补救措施: -

1)工具 - >互联网选项 - >隐私 - >高级 - >检查覆盖自动cookie处理。 2)选择第一方Cookie中的接受,然后选择接受第三方Cookie 3)选中始终允许会话cookie

如果您无法在客户端浏览器上更改设置,请尝试无cookie会话。要做到这一点,只需定义: -

<sessionState cookieless="true" />

在您的网络配置文件中。

有关无Cookie会话的详细信息: -

http://msdn.microsoft.com/en-us/library/aa479314.aspx