无 Cookie 会话和 IIS7 导致重定向循环

发布于 2024-07-18 04:18:50 字数 642 浏览 8 评论 0原文

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

http://localhost/site

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

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

我将一些跟踪放入 global.asax 中,并进入应用程序启动事件,但没有进入会话启动事件。

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

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

如果我关闭无 cookie 会话,那么 IIS7 中一切都很好。

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

我已经在同事工作站上对此进行了测试并且它可以工作,所以我猜测这是 IIS7 中某处的某些设置。

有任何想法吗?

I have an ASP .NET website that uses cookieless sessions. When the initial request is made to the site using a url such as:

http://localhost/site

IE just displays the standard "Internet Explorer cannot display the webpage" message. Firefox is a bit more helpful and displays the following message:

"Redirection limit for this URL exceeded. Unable to load the requested page. This may be caused by cookies that are blocked."

I put some tracing into global.asax and I get into the application start event but not into the session start event.

I have not explictly blocked any cookies with the browsers and have not setup any http redirect rules either.

The site works fine with my development server and under IIS6.

If I switch off cookieless sessions then everything is fine in IIS7.

I can reproduce this with the simplest of websites, i.e. in Visual Studio, File > New Website and then just set the cookieless="true" web.config setting.

I have tested this on a colleauges workstation and it works, so I am guessing it is some setting in IIS7 somewhere.

Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

素食主义者 2024-07-25 04:18:50

好吧,我发现了问题。

我定义了两个 ISAPI 过滤器,它们都指向同一个 dll:

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

我删除了第二个,一切正常。 我不知道是什么把复制品放在那里,肯定不是我。

Well I found the problem.

I had two ISAPI Filters defined both pointing to the same dll:

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

I deleted the second one and all was well. I don't know what put the duplicate there, it certainly wasn't me.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文