2009-04-15 5 views
7

Ich habe eine ASP.NET-Website, die Sitzungen ohne Cookies verwendet. Wenn die anfängliche Anforderung an die Website einen URL wie:Cookieless Sitzungen und IIS7 verursacht eine Umleitung Schleife

http://localhost/site

IE zeigt nur die Standard-Nachricht „Internet Explorer die Webseite nicht anzeigen kann“. Firefox ist ein wenig hilfreicher und zeigt folgende Meldung an:

"Umleitungslimit für diese URL überschritten. Die angeforderte Seite konnte nicht geladen werden. Dies kann durch blockierte Cookies verursacht werden."

Ich habe einige Trace in global.asax und ich bekomme in die Anwendung Start-Ereignis, aber nicht in die Sitzung Start-Ereignis.

Ich habe keine Cookies explizit mit den Browsern blockiert und habe auch keine http-Redirect-Regeln eingerichtet.

Die Seite funktioniert gut mit meinem Entwicklungsserver und unter IIS6.

Wenn ich Sitzungen ohne Cookies abstelle, dann ist alles in IIS7 in Ordnung.

Ich kann dies mit den einfachsten Websites, d. H. In Visual Studio, Datei> Neue Website reproduzieren und dann nur die Einstellung cookieless = "true" web.config festlegen.

Ich habe dies auf einer Kollegen Workstation getestet und es funktioniert, so vermute ich, dass es irgendwo in IIS7 Einstellung ist.

Irgendwelche Ideen?

Antwort

6

Nun, ich habe das Problem gefunden.

Ich hatte zwei ISAPI-Filter sowohl definiert auf die gleiche DLL Hinweis:

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

Ich löschte die zweite und alles war gut. Ich weiß nicht, was das Duplikat dort hingelegt hat, ich war es sicher nicht.

+0

Ich würde diese Antwort akzeptieren, wenn ich könnte, was soll ich dagegen tun? – Carl

+0

Sie können Ihre Antwort ein paar Tage nach dem Hinzufügen Ihrer eigenen Antwort annehmen. also check now :) –

+1

Das war das genaue Problem für mich. Der Grund für meine war .NET Framework 1.1 installiert zu haben. Aus irgendeinem Grund platziert es einen zusätzlichen ISAPI-Filter für 1.1-Anwendungen, obwohl es mit dem 2.0-Filter identisch aussieht. –