Partager via


Serveurs Web dans Visual Web Developer

Mise à jour : novembre 2007

Cette rubrique décrit l'utilisation des services IIS (Internet Information Services) ou du serveur de développement ASP.NET intégré pour tester et exécuter des sites Web.

Pour tester ou exécuter des applications Web ASP.NET, vous avez besoin d'un serveur Web. IIS est le serveur Web de production pour les systèmes d'exploitation Microsoft ; il inclut un serveur Web, serveur FTP (File Transfer Protocol), un serveur de messagerie virtuel SMTP (Simple Mail Transfer Protocol) et d'autres fonctionnalités. Pour pouvoir exécuter IIS, vous devez utiliser une version de Windows conçue pour fonctionner comme un serveur dans un environnement réseau. Cela comprend Windows Server 2003, Web Edition.

Dans Windows 2000 Server et les versions antérieures des systèmes d'exploitation Windows server, IIS est installé par défaut en tant qu'élément du système d'exploitation. Dans Windows XP et Windows Server 2003, IIS n'est pas installé par défaut ; vous pouvez l'ajouter à l'aide l'option Ajouter/Supprimer des composants Windows dans la fenêtre Ajout/Suppression de programmes du Panneau de configuration (dans Windows Server 2003, vous pouvez installer IIS à l'aide du composant Serveur d'applications).

Il sera peut-être peu pratique pour vous d'utiliser IIS pour certaines raisons, notamment les suivantes :

  • Vous développez des pages Web ASP.NET et vous utilisez Windows XP Édition familiale, qui ne prend pas en charge IIS.

  • Vous ne souhaitez pas héberger un serveur Web sur votre ordinateur (par exemple, sur votre réseau domestique) pour des raisons de sécurité. Pour exécuter un serveur Web comme IIS, vous devez effectuer des opérations supplémentaires pour renforcer la sécurité du serveur et vous devez penser à installer les mises à jour de sécurité les plus récentes.

  • La stratégie d'entreprise ne vous permet pas d'installer certains composants serveur tels que IIS.

Serveur de développement ASP.NET

Si vous ne pouvez ou ne souhaitez pas utiliser IIS comme serveur Web, vous pouvez toujours tester vos pages ASP.NET en utilisant le serveur de développement ASP.NET. Le serveur de développement ASP.NET, inclus avec Visual Web Developer, est un serveur Web qui s'exécute localement sur les systèmes d'exploitation Windows, y compris Windows XP Édition familiale. Il est construit spécifiquement pour servir ou exécuter des pages Web ASP.NET selon le scénario d'hébergement local (en naviguant à partir du même ordinateur que le serveur Web). En d'autres termes, le serveur de développement ASP.NET servira des pages à la demande du navigateur sur l'ordinateur local. Il ne servira pas de pages à un autre ordinateur. En outre, il ne servira pas de fichiers situés hors de la portée d'application. Le serveur de développement ASP.NET offre un moyen efficace de tester les pages localement avant de les publier sur un serveur de production qui exécute IIS.

Le serveur de développement ASP.NET accepte uniquement les demandes authentifiées sur l'ordinateur local. Il est donc indispensable que le serveur prenne en charge l'authentification de base ou NTLM.

Remarque :

La méthode conseillée consiste à ne pas exécuter Visual Web Developer lorsque vous avez ouvert une session en tant qu'administrateur, mais à l'exécuter en utilisant un compte plus restreint. Cela empêche tout accès non autorisé à d'autres fichiers sur le serveur.

Le serveur de développement ASP.NET fonctionne uniquement avec des pages individuelles et n'inclut pas les fonctionnalités supplémentaires d'IIS. Par exemple, le serveur de développement ASP.NET ne prend pas en charge le serveur de messagerie SMTP. Si votre application Web implique l'envoi de messages électroniques, vous devez avoir accès au serveur virtuel SMPT d'IIS pour tester la messagerie électronique, car le serveur de développement ASP.NET ne peut pas transférer les messages électroniques ni appeler un serveur pour effectuer cette opération.

Exécution du serveur de développement ASP.NET

Le serveur de développement ASP.NET est installé par défaut avec Visual Web Developer. Si vous utilisez un site Web de système de fichiers, Visual Web Developer fait automatiquement appel au serveur de développement ASP.NET pour exécuter des pages. Par défaut, le serveur Web est appelé sur un port sélectionné aléatoirement pour le scénario d'hébergement local. Par exemple, si vous testez une page appelée ExamplePage.aspx, lorsque vous l'exécutez sur le serveur de développement ASP.NET, l'URL de la page peut être :

https://localhost:31544/ExamplePage.aspx

Lorsque vous fermez le navigateur, le serveur de développement ASP.NET s'arrête à nouveau.

Si vous souhaitez exécuter le serveur de développement ASP.NET sur un port spécifique, vous pouvez configurer le serveur ainsi. Cela peut se produire dans les scénarios suivants :

  • Si le code de votre application écoute sur un port spécifique et que vous voulez tester l'application à l'aide du serveur de développement ASP.NET.

  • Si votre application inclut une référence à un projet client ou à un service Web qui est lié à un port spécifique.

Visual Web Developer ne peut pas garantir que le port spécifié sera disponible lorsque vous exécutez votre site Web de système de fichiers. Pour plus d'informations, consultez Comment : spécifier un port pour le serveur de développement ASP.NET.

Contexte de sécurité pour le serveur de développement ASP.NET

Une différence importante entre IIS et le serveur de développement ASP.NET est le contexte de sécurité dans lequel les serveurs respectifs exécutent vos pages ASP.NET. Cette différence peut affecter votre test en raison des différences dans la façon d'exécuter les pages.

Lorsque vous exécutez une page à l'aide du serveur de développement ASP.NET, la page s'exécute dans le contexte de votre compte d'utilisateur actuel. Par exemple, si un utilisateur de niveau d'administrateur exécute une page avec le serveur de développement ASP.NET, celle-ci aura des privilèges de niveau d'administrateur. Dans IIS en revanche, ASP.NET s'exécute par défaut dans le contexte de l'utilisateur spécial (ASPNET ou SERVICE RÉSEAU) qui a généralement des privilèges limités. Les comptes ASPNET ou SERVICE RÉSEAU sont des comptes locaux sur l'ordinateur serveur (pas des comptes de domaine), ce qui restreint l'accès aux ressources sur d'autres ordinateurs.

Si vous lisez et exécutez simplement le code dans les pages ASP.NET, cette différence n'est pas très importante. Toutefois, les différences de contextes de sécurité entre les deux serveurs Web peuvent affecter les tests des éléments suivants :

  • Accès à d'autres ressources requises par la page   Cela peut inclure la lecture et l'écriture de fichiers autres que des pages Web, la lecture et l'écriture dans le Registre Windows, etc.

  • Accès aux bases de données   Lorsque vous utilisez le serveur de développement ASP.NET, vous pouvez généralement compter sur l'authentification intégrée Windows pour accéder à SQL Server. Toutefois, lorsque la même page s'exécute dans IIS sous le compte ASPNET ou SERVICE RÉSEAU, la page s'exécute dans le contexte d'un utilisateur local et vous devez souvent configurer la page pour utiliser une chaîne de connexion qui inclut des informations sur l'utilisateur et le mot de passe. Pour plus d'informations, consultez Accès à SQL Server à partir d'une application Web et Architecture de sécurité ASP.NET.

  • Sécurité d'accès du code   Si votre page implique l'accès à des ressources protégées dans des zones différentes, la page peut s'exécuter différemment avec le serveur de développement ASP.NET et avec IIS.

Même si vous pouvez utiliser le serveur de développement ASP.NET pour tester si les pages sont fonctionnelles, vous devez à nouveau les tester après avoir publié les pages sur un serveur Web de production qui exécute IIS.

Autorisation de fichier sur le serveur de développement ASP.NET

Dans un site Web de système de fichiers, les fichiers statiques, comme les images et les feuilles de style, sont soumis à une autorisation ASP.NET. Par exemple, les fichiers statiques d'un site Web de système de fichiers ne seront pas fournis à un utilisateur anonyme si l'accès anonyme à ces fichiers est désactivé. Toutefois, lorsque vous créez un projet de site Web sur un emplacement HTTP, IIS sert des fichiers statiques sans utiliser de règles d'autorisation.

Voir aussi

Tâches

Procédure pas à pas : création d'une page Web de base dans Visual Web Developer

Concepts

Sites Web de système de fichiers