无 Cookie 会话和 IIS7 导致重定向循环
我有一个使用无 cookie 会话的 ASP .NET 网站。 当使用如下 url 向站点发出初始请求时:
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:
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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
好吧,我发现了问题。
我定义了两个 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.