Je dois migrer un site Web ASP.Net d'IIS6 vers IIS7. J'ai essayé de copier tous les fichiers d'un site Web d'IIS6 (c:\inetpub\wwwroot\MySite) vers une autre boîte avec Windows Server 2008 R2 où IIS7 était le serveur Web par défaut.
Cependant, la copie semble ne pas fonctionner. Devrais-je reconstruire le site Web pour IIS7 ou dois-je apporter des modifications à la nouvelle boîte avec IIS7 telle que web.config?
Merci pour les commentaires. Une enquête plus poussée, j’ai trouvé que http handers semble avoir causé une exception:
<!--httpHandlers>
<add path="Reserved.ReportViewerWebControl.axd" verb="*"
type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
validate="false"/>
</httpHandlers-->
Après avoir commenté le gestionnaire ci-dessus dans web.config, la page Web fonctionne correctement. Ceci est juste mon test initial. Je ne suis pas sûr de devoir reconstruire le site Web à partir de codes sources ou non. Si tel est le cas, dois-je spécifier pour IIS7?
Les gestionnaires HTTP sont gérés différemment dans IIS7 par rapport à IIS6. Quelques choses que vous pourriez essayer:
1) Changez votre pool d'applications du mode "intégré" au mode "classique" (ce ne sera probablement pas le premier choix, mais il fonctionnera certainement).
2) Reconfigurez votre fichier web.config (c’est probablement la route à suivre). En mode intégré, les gestionnaires http doivent être déplacés vers la section (IIS6 les a dans la section system.web).
Voici quelques informations supplémentaires que vous voudrez peut-être consulter:
http://msdn.Microsoft.com/en-us/library/bb515251.aspx
Il convient de noter la section "Déplacement d’une application Web en mode intégré".
Essayez également, à la fois sous <system.webServer>
:
<validation validateIntegratedModeConfiguration="false"/>
sinon, cela ne fonctionnera pas car le gestionnaire de Reporting Services invalide ce mode. puis sous <handlers>
<add name="Reserved-ReportViewerWebControl-axd" path="Reserved.ReportViewerWebControl.axd" verb="*" type="Microsoft.Reporting.WebForms.HttpHandler, Microsoft.ReportViewer.WebForms, Version=9.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
En remplaçant votre version 8 par ce qui précède, vous devrez également commenter ce que vous avez fait car elle s’attend à ce qu’elle soit là. Les anciennes versions du gestionnaire de Reporting Services ne sont pas vraiment compatibles avec IIS7.
Fondamentalement, le gestionnaire doit être enregistré dans la partie IIS7 de web.config ainsi que dans la partie "classique".