déc. 12 2010

[ASP.NET] Utiliser IIS Express avec la bêta du SP1 de Visual Studio 2010

Category: ASP.NET | IIS 7.0 | Visual Studio 2010Nicolas Esprit @ 15:30

Il y a quelques mois je vous parlais de l'arrivé prochaine de IIS Express. Ce dernier est arrivée avec WebMatrix mais n'était pas encore intégré à Visual Studio 2010. C'est maintenant chose faite avec la sortie il y a quelques jours de la version bêta du Service Pack 1 de Visual Studio 2010. Tout d'abord un bref rappel sur IIS Express s'impose. Aujourd'hui, les développeurs construisent et testent les sites ASP.NET et les applications Web à l'aide d'un des deux serveurs suivants :

  • Le serveur de développement ASP.NET intégré à Visual Studio. Plus connu sous le nom de Cassini.
  • Le serveur Web IIS.

Les deux serveurs ci-dessus ont leurs avantages et leurs inconvénients. De nombreux développeurs ASP.NET souhaiteraient avoir la facilité d'utilisation du serveur Cassini, mais toute la puissance et les fonctionnalités de IIS 7. C'est à cette demande que répond IIS Express, qui combine les meilleurs caractéristiques des deux options et facilitera la génération et l'exécution des applications et sites ASP.NET. Au passage, vous pouvez consulter ce précédent billet pour connaître les limitations de Cassini et savoir comment utiliser facilement IIS dans vos projets Visual Studio 2010 à la place de celui-ci (en attendant la version Release Candidate du SP1 et donc de IIS Express).

Installer IIS Express

Avant toute chose, il vous faut télécharger et installer le SP1 de Visual Studio 2010 (voir le lien de téléchargement dans la section Ressources en bas du billet). Attention, c'est long (environ 30 min sur mon poste) ! Il y a environ 500 Mo à télécharger via le tool d'installation :

Pour résumer rapidement les nouveautés apportées par ce Service Pack :

  • Correction d'une centaine de bugs concernant le développement Web (donc sur les éditeurs JavaScript/CSS/HTML, sur la vue Design, etc.)
  • Support des tests unitaires sur la version 3.5 du Framework .NET (actuellement tous les tests tournent sous 4.0)
  • Le support des schémas HTML 5, avec IntelliSense
  • Intellitrace pour les projets SharePoint (il y en avait bien besoin !)
  • Le support de IIS Express (c'est quand même le sujet de ce billet...)
  • SQL Compact Edition 4
  • Ajouts des outils Silverlight 4 à Visual Studio
  • Performance Wizard pour Silverlight
  • Mise à niveau du compilateur VB.NET
  • etc...
Je ne rentre pas dans le détail. Pour plus d'infos je vous invite à consulter les nombreux billets ou articles sur la blogosphère.

 

Après avoir installé le SP1, il faut maintenant installer IIS Express car il n'est pas inclut dans le Service Pack. IIS Express est actuellement en version 7.5 bêta et ne fait pas partie intégrante de WebMatrix. Donc vous pouvez installer IIS Express sans Web Matrix (yes !) à l'aide du Web Platform Installer. Attention, pour une raison que j'ignore, en lançant directement l'outil un message m'indique que mon OS n'est pas supporté (pourtant je n'ai jamais eu de problème avec WPI sous Windows Server 2008 R2). Malgré ce désagrément, vous pouvez toute de même utiliser le lien à gauche, enregistrer le fichier sur votre disque puis lancer l'installation :

Pour installer IIS Express, il est nécessaire de télécharger un peu plus de 3Mo, c'est donc rapide :

 

Au passage je vous rappelle la sortie il y a de jours de la Release Candidate 2 de ASP.NET MVC 3. Pour plus d'informations à ce sujet je vous invite à consulter le billet de Scott Guthrie : Announcing ASP.NET MVC 3 (Release Candidate 2).

Utiliser IIS Express

Déjà, sachez qu'il est possible d'utiliser IIS Express avec les deux types de projets Web, à savoir : Web Site et Web Application (pour connaître les différences entre les deux et savoir comment faire le bon choix au lancement d'un nouveau projet, je vous invite à consulter ce précédent billet). Nous allons donc créer une nouvelle Web Application, profitons-en pour tester la nouvelle version d'ASP.NET MVC 3 :

Une fois l'application créée, pour utiliser IIS Express, rien de plus facile : un clic-droit sur le projet et on sélectionne "Use IIS Express" :

Visual Studio 2010 nous informe alors que le paramétrage a bien été pris en compte et que notre projet Web sera hébergé à l'adresse suivante :

Un coup de F5 et notre application se lance. Non plus en utilisant Cassini, mais IIS Express. Dans la zone de notification Windows une nouvelle icône apparaît :

On peut ainsi voir toutes les applications actuellement hébergées par IIS Express. Au passage, un clic sur le menu "Show All Applications" nous permet d'accéder à l'écran suivant :

Cet écran liste toutes les applications mais permet également d'avoir des informations sur le path, la version du Framework .NET utilisée, le parent (ici le process devenv, donc Visual Studio).

 

Paramétrer IIS Express comme serveur Web par défaut à la place de Cassini

Pour utiliser par défaut IIS Express et se débarrasser du serveur Cassini, rien de plus simple. Il suffit d'aller dans le menu Tools, puis Options, puis Projects and Solutions, puis Web Projects, comme on peut le voir sur l'image ci-dessous :

 

Utiliser SSL lors du développement

Cassini ne supporte pas SSL pour les sites, ce qui n'est pas le cas d'IIS Express. Si on regarde dans l'écran Properties de notre projet Web (ou F4 pour aller plus vite). On peut voir qu'il est possible d'activer SSL facilement. C'est magique :-)

 

Pour résumer IIS Express :

  • Support de SSL
  • Support des modes Classic et Integrated du Pipeline (cf image ci-dessus)
  • Support de l'authentification basique ou Windows
  • Création d'un nouveau Virtual Directory en utilisant IIS ou IIS Express pour les projets de type Web Site
  • IIS Express est léger et facile à installer
  • IIS Express ne nécessite pas un compte administrateur pour exécuter / débugguer des applications à partir de Visual Studio
  • IIS Express permet d'avoir un serveur web avec un de jeu de fonctionnalités complet ( y compris le protocole SSL, la réécriture d'URL, support des médias, et tous les autres extensions et modules IIS 7.x )
  • IIS Express peut être installé côte à côte avec un serveur IIS complet ainsi que le serveur de développement ASP.NET (ils ne rentrent pas en conflit)
  • IIS Express fonctionne sur Windows XP et les systèmes plus récents.
  • IIS Express est indépendant et peut être installé sans la présence de Visual Studio 2008 ou 2010
  • Il sera possible de tester des scénarios SSL, mais IIS Express installera également un certificat pour d’autres tests, par exemple des scénarios de sécurité de transport WCF avec un client Silverlight.
  • IIS Express est conçu par défaut pour fonctionner dans un processus séparé
  • Le certificat demandera une confirmation sous Internet Explorer et d’autres navigateurs la première fois
  • Il est possible d’automatiser et de lancer IIS Express depuis la ligne de commande
  • IIS Express n'a pas de limite de connexions
  • IIS Express n'a pas encore d’intégration avec la plateforme Azure, mais le lien est bel et bien prévu dans le futur

Ressources :

Tags: , , , ,

Les commentaires sont clos