问题
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?
回答1:
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.
来源:https://stackoverflow.com/questions/750997/cookieless-sessions-and-iis7-causes-a-redirect-loop