【问题标题】:Cookieless sessions and IIS7 causes a redirect loop无 Cookie 会话和 IIS7 导致重定向循环
【发布时间】:2010-10-19 13:21:33
【问题描述】:

我有一个使用无 cookie 会话的 ASP .NET 网站。当使用以下网址向网站发出初始请求时:

http://localhost/site

IE 只显示标准的“Internet Explorer 无法显示网页”消息。 Firefox 更有帮助,它会显示以下消息:

“已超出此 URL 的重定向限制。无法加载请求的页面。这可能是由于 cookie 被阻止造成的。”

我在 global.asax 中添加了一些跟踪,然后我进入了应用程序启动事件,但没有进入会话启动事件。

我没有用浏览器明确阻止任何 cookie,也没有设置任何 http 重定向规则。

该站点在我的开发服务器和 IIS6 下运行良好。

如果我关闭无 cookie 会话,那么在 IIS7 中一切正常。

我可以用最简单的网站重现这一点,即在 Visual Studio 中,文件 > 新网站,然后只需设置 cookieless="true" web.config 设置。

我已经在同事工作站上测试过它并且它可以工作,所以我猜它是 IIS7 某处的一些设置。

有什么想法吗?

【问题讨论】:

    标签: iis iis-7 cookieless redirect-loop


    【解决方案1】:

    嗯,我发现了问题。

    我定义了两个指向同一个 dll 的 ISAPI 过滤器:

    %windir%\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll c:\windows\Microsoft.NET\Framework\v2.0.50727\aspnet_filter.dll

    我删除了第二个,一切都很好。我不知道是什么把副本放在那里,肯定不是我。

    【讨论】:

    • 如果可以的话,我会接受这个答案,我该怎么办?
    • 您可以在添加自己的答案几天后接受您的答案。所以现在检查:)
    • 这正是我的问题。我的原因是安装了 .NET Framework 1.1。出于某种原因,它为 1.1 应用程序放置了一个额外的 ISAPI 过滤器,尽管它看起来与 2.0 过滤器相同。
    • 其实这不是.NET 1.1的错。出于某种原因,我有两个用于 .NET 4.0 的 ISAPI 过滤器。即使我的应用程序设置为 2.0,额外的 4.0 也会导致重定向循环。只是想我会分享给未来的读者。
    • 我知道这是在软件更新后发生的,我有类似的情况并通过this修复了
    猜你喜欢
    • 2017-06-23
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多