Windows Vista vous permet d'exécuter vos applications web au sein de la nouvelle version du serveur web phare de Microsoft : IIS7.
Cette nouvelle version de IIS qui succède à IIS 6 apparu avec Windows Server 2003 propose une architecture radicalement différente dont le maitre mot est : EXTENSIBILITE ! J'y reviendrais prochainement dans un prochain post...
Quoiqu'il en soit, il est difficile de travailler avec Visual Studio (2005 ou Orcas) et IIS7 pour la simple raison que Visual Studio ne supporte pas IIS7 ! Espérons que cela sera le cas avec la version finale de Orcas...
Afin d'être capable d'héberger vos applications au sein de IIS7, vous allez donc devoir utiliser votre IIS7 comme un IIS6 afin que Visual Studio puisse retrouver ses petits et être capable de browser les sites qui sont dans votre IIS, et bien évidemment débugger ces applications.
Pour cela, vous devez commencer par installer la couche de compatibilité IIS6. Pour cela rendez-vous dans le panneau de configuration, et rendez vous dans les fonctionnalités Windows. Déroulez le noeud Internet Information Services et cochez l'élément couche de compatibilité IIS6.
Une fois que cette couche est installé, il vous est techniquement possible d'utiliser IIS7 avec votre Visual Studio préféré en effectuant quelques manipulations de configuration.
Première chose, pensez à toujours démarrer Visual Studio en tant qu'administrateur. Si ce n'est pas le cas vous ne serez pas capable de browser les sites hébergés par IIS.
Une fois avoir lancé Visual Studio en tant qu'administrateur, vous pouvez très bien créer votre site web comme vous le faites d'habitude. Visual Studio communiquera sans problème avec IIS afin de créer le répertoire virtuel correspondant.
Les prochaines étapes concernent le débuggage car même si vous parvenez à créer votre application web, vous n'êtes pour le moment pas capable de la débugger. Un appui sur la touche F5 vous affichera ce message d'erreur que vous connaissez sans doute déjà.
Rendez-vous donc dans IIS7 afin d'activer l'authentification Windows intégrée.
Pour cela exécuter inetmgr afin d'afficher la console d'administration de IIS qui a été totalement repensée :
Rendez-vous dans la zone Authentication et activez l'authentification Windows intégrée.
Une fois l'authentification intégrée activée si vous retournez dans Visual Studio et que vous faites F5 vous aurez de nouveau un message d'erreur :
Ceci est du au mode de gestion de votre application par IIS.
IIS7 propose en effet deux modes de gestion d'application :
- le mode classique qui traite les requêtes comme IIS6
- le mode intégré ou IIS7 utilise des modules natifs et/ou managés afin d'éxécuter le code à la place des traditionnels filtres ISAPI
Par défaut le mode intégré est utilisé, le mode classique étant nécessaire pour être capable de débugger vos applications Web.
Afin de switcher entre ces deux modes, vous devez changer l'application pool de votre site web afin d'utilser un application pool utilisant le mode classique.
Une fois cette modification effectuée, vous pourrez enfin débugger votre application web depuis Visual Studio !