2009-04-15 23 views
7

J'ai un site Web ASP .NET qui utilise des sessions sans cookie. Lorsque la demande initiale est faite sur le site en utilisant une URL telle que:Les sessions sans cookie et IIS7 provoquent une boucle de redirection

http://localhost/site

IE affiche simplement la norme « Internet Explorer ne peut pas afficher la page Web » message. Firefox est un peu plus utile et affiche le message suivant:

"Limite de redirection pour cette URL dépassée Impossible de charger la page demandée, ceci peut être dû à des cookies bloqués."

Je place un traçage dans global.asax et j'entre dans l'événement de démarrage de l'application mais pas dans l'événement de début de session.

Je n'ai pas explicitement bloqué les cookies avec les navigateurs et n'ai pas non plus configuré de règles de redirection http.

Le site fonctionne correctement avec mon serveur de développement et sous IIS6.

Si j'éteins les sessions sans cookie alors tout va bien dans IIS7.

Je peux reproduire ceci avec le plus simple des sites Web, c'est-à-dire dans Visual Studio, Fichier> Nouveau site Web, puis il suffit de définir le paramètre web.config cookieless = "true".

J'ai testé cela sur un poste de travail colleauges et cela fonctionne, donc je suppose que c'est un paramètre dans IIS7 quelque part.

Des idées?

Répondre

6

Eh bien, j'ai trouvé le problème.

J'ai eu deux filtres ISAPI définis à la fois pointant vers le même dll:

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

J'ai supprimé le second et tout allait bien. Je ne sais pas ce qui a mis la copie là, ce n'était certainement pas moi.

+0

J'accepterais cette réponse si je pouvais, que suis-je censé faire à ce sujet? – Carl

+0

Vous pouvez accepter votre réponse quelques jours après avoir ajouté votre propre réponse. alors vérifiez maintenant :) –

+1

Ce fut le problème exact pour moi. La cause de la mienne était d'avoir installé .NET Framework 1.1. Pour une raison quelconque, il place un filtre ISAPI supplémentaire en place pour les applications 1.1, même s'il semble identique au filtre 2.0. –