Erreur boucle de redirection |
Quel est le problème avec cette "Boucle de redirection" ?
Et c'est bien là l'enfer du DotNET car vous avez testé en debug avec Visual Studio, vous avez déployé en local et ça fonctionne parfaitement. Mais une fois le site déployé sur le serveur de production c'est la catastrophe. Et le message d'erreur semble comme d'habitude, totalement bidon sans aucun rapport avec l'erreur réelle.
Je n'ai pas les moyens d'investigation sur le serveur, le débogueur à distance ne fonctionne pas et je ne souhaite pas l'installer cela encombrerait mon serveur.
Quelles sont les différences au niveau d'IIS ?
Sur ma machine de développement, je regarde :
Version d'IIS sur ma machine de développement |
Version d'IIS sur le serveur de développement |
Donc au niveau d'IIS pas de différence !
Si quand même, a noter :
La langue est différente : Serveur de dev en Fr, Serveur de prod en Gb ... Et là solution est là !
Si quand même, a noter :
La langue est différente : Serveur de dev en Fr, Serveur de prod en Gb ... Et là solution est là !
Ce qui met la puce à l’oreille
Dans ce cas, on sait par expérience que toute la littérature du monde ne pourra pas vous être utile. Par là, on vous dit de supprimer les cookies de votre application, par ailleurs on vous indique une autre solution, toutes sont aussi farfelues. Je vais chercher pendant un certain temps. Et puis, je vais me raccrocher au message d'erreur de ma page d'erreur, c'est moi qui l'aie mise en place :
PageErreur.Aspx?msg=String+was+not+recognized+as+a+valid+DateTime.
Qu'est ce qui peut bien faire qu'une DateTime ne soit pas valide ?
Solution DateTime non valide dans le Web.config
La Culture, mais oui, c'est la culture qui rend ma DateTime non valide, je lis alors cette page :
Dans le Web.config, on peut configurer la culture du site web :
<configuration>
<system.web>
<globalization culture="en-GB"/>
</system.web>
</configuration>
Me voilà avec la puce à l'oreille, je trouve une ligne un peu plus moderne à ajouter dans mon Web.config :
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="auto" uiCulture="auto" />
Et le tour est joué ! Mon site fonctionne !
Conclusion, c'est l'enfer du .NET
Il faut bien le reconnaître ASP.NET, c'est purement l'enfer et ça depuis des années. On est passé du premier serveur IIS qui fonctionnait à peut prêt : IIS 5.0. Mais parfois les messages d'un site en rade était ... Cosmiques et surtout ne correspondaient en rien avec la solution à mettre en oeuvre. Aujourd'hui avec 7.5 et 8.0 la partie configuration est un peu plus claire, surtout depuis la réorganisation entre Pool d'Application, Site Web et Répertoire Virtuel, cela apporte de la clarté mais il traîne encore trop de vacheries qui devraient disparaître à mon sens.
Le fichier Web.config, suivant les versions, est farcie de ligne stupides sans intérêt.
Aucun commentaire:
Enregistrer un commentaire
Remarque : Seul un membre de ce blog est autorisé à enregistrer un commentaire.