Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cookieless sessions and IIS7 causes a redirect loop

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?

like image 523
Carl Avatar asked Apr 15 '09 10:04

Carl


1 Answers

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.

like image 58
Carl Avatar answered Nov 08 '22 23:11

Carl