2009-06-16 6 views
30

Lorsque vous créez un nouveau site Web sur IIS, vous avez le choix entre une «application» et un «répertoire virtuel». Quelle est la différence entre ces deux options?Création d'un nouveau site Web sur IIS: Application vs. Répertoire virtuel. Quelle est la différence?

+1

Où est ce que vous choisissez? De l'application, voulez-vous dire "Pool d'applications"? –

+1

Sur un IIS propre installer ouvrir "Sites" et cliquez-droit sur "Default". Dans le menu contextuel, vous obtenez "Ajouter une application" et "Ajouter un répertoire virtuel". – roosteronacid

+1

Dupliqué: http://stackoverflow.com/q/5500326/80161 –

Répondre

23

Il y a quelques différences, voici le plus grand:

  • Dans IIS 6 et plus, vous pouvez assigner à une application un certain niveau de "protection". (par exemple, les niveaux de protection, les pools d'applications, etc.). Vous ne pouvez pas faire cela avec les répertoires virtuels
  • Si vous travaillez avec ASP.NET, la recherche du fichier maître "Web.config" pour votre application s'arrête au niveau de votre application. Pour un répertoire de travail, il vérifie également les paramètres de votre hiérarchie parent.

Ce sont les deux plus grandes différences à mon avis, bien qu'il existe d'autres petites aussi.

+0

mjmarsh, vous avez tort. Je vois dans IIS 7 que vous pouvez configurer "Se connecter en tant qu'utilisateur spécifique ou les paramètres d'utilisateur de l'application pour le répertoire virtuel et l'application." – Learner

+2

Je parlais de l'isolation des processus. ressources de fichiers de répertoire virtuel, mais je ne vois aucun moyen d'associer un répertoire virtuel à un pool d'applications (autre que de le définir au niveau de son application parente) –

27

Un répertoire virtuel est simplement un pointeur vers l'emplacement des pages Web.

Une application réserve de la mémoire dans IIS pour vos pages Web. Si vous essayez d'exécuter des pages ASP et que vous prévoyez d'utiliser des variables de session, vous devez utiliser une application. Une application peut utiliser un répertoire virtuel ou il peut simplement exister dans le répertoire du site Web par défaut (inetpub/wwwroot /)

+5

+1 Mais notez que ce n'est pas la fin de l'histoire, puisque ce n'est pas le pool d'applications qui stocke les variables de session, à la place c'est le processus w3wp.exe, et si le pool d'applications est configuré pour utiliser plus d'un w3wp.exe (un "jardin web"), alors il faut utiliser Les sessions OutProc (puisque différentes demandes du même utilisateur peuvent être routées vers des processus différents), mais vous avez raison de dire que le w3wp.exe est basé sur le pool d'applications et non sur un répertoire virtuel –

0

Du point de vue d'un développeur web:

Un répertoire virtuel est le conteneur IIS 5 (Windows 2000 et versions antérieures) pour le contenu HTML. Un répertoire virtuel peut également être configuré pour permettre l'interprétation de scripts ASP (Active Server Pages) et/ou l'exécution d'applications CGI (Common Gateway Interface). Un répertoire virtuel ne peut pas héberger une application Web ASP.Net.

Le type de conteneur "application" a été introduit avec IIS 6 (Windows XP/Windows Server 2003 et versions ultérieures). Il permet l'hébergement d'applications Web ASP.Net.

Questions connexes