2010-05-12 3 views
0

Mon application est un hybride dotnet 4 - MVC dans certains domaines, des formulaires Web dans d'autres. Cette application a été récemment mise à niveau vers dotnet 4 et comprend beaucoup de vieux code et quelques pièces incompatibles. Malheureusement, il inclut un composant telerik qui me demande d'exécuter le pool d'applications en mode classique. Pour résoudre ce problème (dans IIS7), je dois ajouter un mappage de gestionnaire à la configuration IIS. Ce mappage est essentiellement un mappage générique qui pointe le chemin générique "*" vers le fichier% windir% \ Microsoft.NET \ Framework64 \ v4.0.30319 \ aspnet_isapi.dll.Http Hanlder doit être réinitialisé à chaque déploiement. Comment puis-je ajouter cette fonctionnalité au web.config

Le problème que je rencontre est le suivant: pour une raison quelconque, ce mappage est supprimé lors du déploiement du site. Alors, puis-je ajouter la fonctionnalité de ce mappage à la configuration Web? Si c'est le cas, comment?

Ou y a-t-il une autre solution pour rendre ce mappage ajouté manuellement "collant" afin qu'il reste en place pendant et après un déploiement? (Je demande également cela sur ServerFault, car je ne suis pas sûr que ce soit une question de codage ou une question de serveur)

Répondre

1

D'accord, j'ai compris ce qui se passait; Lorsque vous modifiez les mappages du gestionnaire et que vous en ajoutez un personnalisé pour un site unique, il modifie réellement la configuration Web en ajoutant un élément "handlers" à la section system.webServer (s'il n'existe pas déjà), et en ajoutant la liste générique qui dans mon cas est la suivante:

<system.webServer> 
    <handlers> 
     <add name="Wildcard" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv4.0,bitness64" /> 
    </handlers> 
</system.webServer> 

donc je copié ces lignes et les mettre dans mon web.config pour l'environnement, je suis à déployer (qui est bêta dans ce cas - mais je besoin de faire la même chose pour la production) et l'alto, le réglage est maintenant en place lors du déploiement. Ce qui se passait, c'est que ces paramètres étaient perdus lors de chaque déploiement car (évidemment) le web.config était en train d'être écrasé.

Lorsque je fais mon déploiement en production, je vais bien sûr changer le chemin vers le fichier .dll pour utiliser la variable% windir% afin qu'il puisse trouver ce qu'il cherche!

0

Si vous n'avez pas d'autres sites Web sur le serveur, vous pouvez changer les paramètres IIS par défaut pour le site Web "racine" - ceux-ci seront alors hérités lors de la création de tout nouveau site Web, ce qui est probablement ce qui se passe lorsque vous déployez votre site.

Questions connexes