2009-04-15 22 views
7

Possiedo un sito Web ASP .NET che utilizza sessioni senza cookie. Quando la richiesta iniziale è fatto per il sito utilizzando un URL come:Le sessioni senza cuoco e IIS7 causano un ciclo di reindirizzamento

http://localhost/site

IE appena viene visualizzato lo standard "Internet Explorer non può visualizzare la pagina web" messaggio. Firefox è un po 'più utile e visualizza il seguente messaggio:

"Limite di reindirizzamento per questo URL superato. Impossibile caricare la pagina richiesta. Ciò potrebbe essere causato da cookie che sono bloccati."

Inserisco un po 'di traccia in global.asax e arrivo nell'evento di avvio dell'applicazione ma non nell'evento di inizio della sessione.

Non ho bloccato esplicitamente alcun cookie con i browser e non ho impostato alcuna regola di reindirizzamento http.

Il sito funziona correttamente con il mio server di sviluppo e sotto IIS6.

Se si disattivano le sessioni senza cookie, in IIS7 tutto funziona correttamente.

Posso riprodurlo con il più semplice dei siti Web, ad esempio in Visual Studio, File> Nuovo sito Web e quindi impostare semplicemente cookieless = "true" web.config.

L'ho provato su una workstation colleauges e funziona, quindi suppongo che ci sia qualche impostazione in IIS7 da qualche parte.

Qualche idea?

risposta

6

Bene, ho trovato il problema.

ho avuto due filtri ISAPI definiti sia che punta alla stessa DLL:

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

Ho eliminato il secondo e tutto andava bene. Non so cosa abbia messo lì il duplicato, certamente non sono stato io.

+0

Accetterei questa risposta se potessi, cosa dovrei fare a riguardo? – Carl

+0

Puoi accettare la tua risposta alcuni giorni dopo aver aggiunto la tua risposta. quindi controlla ora :) –

+1

Questo era il problema esatto per me. La causa della mia era aver installato .NET Framework 1.1. Per qualche motivo, inserisce un filtro ISAPI aggiuntivo per 1.1 applicazioni, anche se sembra identico al filtro 2.0. –