juin 04 2010

[Visual Studio 2010] Déploiement Web Partie 2 - Utiliser IIS comme serveur Web local pour le développement à la place de Cassini

Suite du précédent post : Déploiement Web Partie 1 - Différence entre Web Application et Web Site

Vous savez surement déjà que, lorsque vous lancez une application Web avec Visual Studio pour la tester ou la débuguer, c'est le moteur Cassini qui est utilisé et non IIS comme chez votre hébergeur ou sur les serveurs de production de votre entreprise. Le serveur Web Cassini est un serveur Web simple, entièrement géré, qui héberge ASP.NET. Le serveur Web Cassini associe les éléments suivants :

  • un port d'écoute HTTP simple créé à l'aide de System.Net.Sockets ;
  • un exemple d'hébergement d'ASP.NET créé à l'aide d'API System.Web.Hosting. Cela vous permet d'héberger ASP.NET à partir de n'importe quelle application gérée.

Les limitations de fonctionnalités du serveur Web Cassini sont entre autres :

  • il peut héberger une seule application ASP.NET par port ;
  • il ne prend pas en charge HTTPS ;
  • il ne prend pas en charge l'authentification ;
  • il répond uniquement aux requêtes localhost.

Pourquoi Cassini est-il couramment utilisé dans ce cas et préféré dans beaucoup d'entreprises ? Tout simplement parce qu'il ne nécessite pas d'installation, qu'il est prêt à l'emploi et qu'il n'est pas nécessaire d'être administrateur local de sa machine de développement. Mais l'élément le plus important est que le Cassini ne représente pas votre application telle qu'elle sera une fois déployée. Afin d'éviter toute surprise, voici la marche à suivre pour utiliser IIS comme serveur Web local pendant vos développements avec Visual Studio 2010.


warning Notez qu'il est nécessaire d'avoir IIS sur sa machine (rien d'étonnant me direz vous…), mais aussi d'exécuter Visual Studio en mode administrateur. Pour le mode administrateur, si votre compte utilisateur Windows est effectivement administrateur sur la machine, un clic droit sur le raccourci ou l'exécutable de Visual Studio 2010 fera apparaître l'option " Exécuter en tant qu'administrateur ".
 

Reprenons le projet WebApplicationBidon présenté dans la figure précédente. Il s'agit d'un projet ASP.NET Web Application de base, comme indiqué dans la figure suivante :



 

Une fois votre application créée, allez dans la page Propriétés du projet (clic droit sur le projet ou plus simplement : ALT+Enter) et ouvrez l'onglet Web. Sélectionnez ensuite " Use Local IIS Web server " :



 

Vous pouvez ensuite cliquer sur le bouton "Create Virtual Directory". Désormais, lors du lancement de l'application en mode debug ou non, nous accédons directement à IIS en localhost :



 

Toutefois, il se peut que vous n'ayez pas installé sur votre poste la métabase pour le mode de compatibilité IIS. Dans ce cas, allez dans le Panneau de Configuration, puis Programmes et fonctionnalités, puis Activer ou désactiver des fonctionnalités Windows. Et sélectionnez les options présentes sur la capture ci-dessous :


info Si vous utilisez Windows Server 2008 R2, vous pouvez facilement installer IIS dans le Gestionnaire de Serveur et via l'action "Ajouter des fonctionnalités".

Tags: , , , , , , ,

Commentaires

1.
dinguot dinguot France says:

J'ai du lancer une console (cmd) en mode administrateur et exécuter :
C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

afin de refaire l'installation de .NET 4 dans IIS7

Les commentaires sont clos