2010-04-13 16 views
3

J'ai cherché sur le Web pour cela et je n'ai rien trouvé (enfin un message pertinent), alors je suis là.IIS 6 force AppRoot/Point de départ en majuscules lorsque le répertoire virtuel est importé à partir d'un fichier

Nous avons plusieurs applications ASP.NET dans IIS 6 utilisant l'authentification par formulaires avec un chemin dédié pour chaque application. Comme le chemin est sensible à la casse, il doit correspondre exactement à la section du chemin de l'URL. Toutefois, en raison d'une casse incorrecte dans IIS 6 Metabase pour AppRoot (ou point de départ dans IIS UI) bowser n'envoie pas de cookie de formulaire au serveur lorsque l'URL est résolue précédemment sur le serveur et envoyée au client dans un cas incorrect.

Exemple:
App URL = "https://Test.net/Application1"
Chemin Cookie =/Application1
métabase AppRoot =/LM/W3SVC/1393818691/ROOT/APPLICATIONPATH1
Résolu URL = " https://Test.net/APPLICATIONPATH1 "

Maintenant à la cause de la cause ...
Nous créons manuellement des répertoires virtuels sur le serveur de test dans un cas spécifique (correspond au chemin de chaque application). Nous exportons ensuite le répertoire virtuel en utilisant l'interface utilisateur vers un fichier XML, qui est ensuite importé vers un autre serveur (disons production), point auquel IIS décide de mettre en majuscule l'élément AppRoot de la métabase.

Quelqu'un peut-il nous éclairer à ce sujet? Y a-t-il un paramètre sur IIS dont je ne suis pas au courant? J'essaie d'éviter l'édition manuelle de la métabase après l'importation. Est-ce un bug?

+0

Je n'ai pas de réponse à ajouter, mais je peux confirmer le comportement exactement comme vous le décrivez, lors de la création d'un nouveau fichier VirDir à partir d'un fichier. – mfinni

+0

En effet, irritant ... a fini par devoir écrire des scripts supplémentaires pour réparer les AppRoots cassés (dans notre cas, car derrière un proxy inverse, le chemin d'accès était important en soi).En outre, en utilisant iiscnfg.vbs pour copier une branche de métabase avec un changement de nom, l'approche n'est pas renommée, ce qui la casse généralement. Ces outils ne semblent pas vraiment stables. – bobince

Répondre

1

Avez-vous essayé de configurer votre site IIS à l'aide de la bibliothèque de tâches SDC pour MSBuild?

CodePlex Site

Il est simple à utiliser et vous permet de rendre votre déploiement entièrement automatisé.

Sinon, une solution rapide serait de modifier manuellement le Metabase.xml:

WINDOWS \ system32 \ inetsrv \ Metabase.xml

J'ai rencontré ce problème avant et trouvé aucun moyen autour de lors de l'importation du fichier XML.

0

je trouve une autre façon de le résoudre ...

Dans les propriétés d'application j'ai supprimé l'application et redémarré IIS et ajouté à nouveau l'application. Le redémarrage force la mise à jour de la métabase sur le disque et la suppression de la mauvaise entrée. Si vous ne redémarrez pas, la métabase aura toujours l'entrée en majuscules. Après avoir créé la nouvelle application, elle sera ajoutée à la métabase avec le bon boîtier et le problème sera résolu.

Peut-être plus de choses à faire, mais c'est plus sûr que de changer la métabase directement!