Quelle est la différence entre L'application Web et le dossier virtuel dans le contexte de IIS 7.x?

en déployant mon site web, j'ai découvert que je pouvais convertir un dossier en un dossier virtuel ou une application web, Je suis totalement confus au sujet de ces 2 concepts.

  • Pourquoi existe-t-il deux types différents?

  • Quel est le but de chacun?

47
iis
demandé sur Kev 2011-03-31 17:07:18

2 réponses

un dossier virtuel ou Répertoire virtuel est juste un lien vers un dossier physique quelque part sur le serveur. Ce dossier fait partie de la structure du site web et vous pouvez utiliser le répertoire virtuel dans la partie chemin des URLs. Le Code qui s'exécute dans les répertoires virtuels s'exécutera dans la même" Application " que son parent.

une Application est où le code qui court à l'intérieur de ce" dossier " a son propre état de Session et d'Application. C'est en effet un nouvel opus application vivant sous la racine.

par exemple, si vous deviez déployer un ASP.NET application dans un site qui avait un dossier D'Application appelé /myapp alors que l'application aurait son propre domaine d'application, État de session, état d'application complètement séparé d'un autre ASP.NET application en cours d'exécution / . Par exemple: si vous définissez une valeur D'Application Application["Thing"] = 123 dans l'application racine et que vous faites la même chose, mais avec un une valeur différente dans /myapp puis dans Application["Thing"] dans la racine ne serait pas écrasée par la cession dans /myapp .

une autre chose que vous pouvez faire avec les applications est de spécifier un Pool D'applications différent pour exécuter. Par exemple, votre application racine / peut contenir un ASP.NET 2.0 application et exécuter dans un pool configuré pour .NET 2.0. Cependant vous pouvez vouloir exécuter une application de blog ou de forum écrite dans ASP.NET 4,0. Maintenant parce que tu ne peux pas mélanger ASP.NET versions d'exécution dans le même pool d'applications, vous pouvez spécifier un pool d'applications alternatif spécifiquement pour ASP.NET 4.0 applications.

Les Applications

peuvent aussi se comporter comme des répertoires virtuels et vous pouvez pointer un dossier d'application vers un dossier physique ailleurs sur le serveur.

si vous êtes intéressé par la mécanique sous-jacente des répertoires virtuels et des Applications sur IIS7 alors jetez un oeil à cette réponse que j'ai posté il y a quelques temps:

utilisation de ServerManager pour créer une Application dans L'Application

78
répondu Kev 2017-05-23 11:54:51

pour ajouter un détail informatif à ce que Kev a très bien mentionné - tous les répertoires virtuels par défaut fonctionnent sous un pool d'applications prédéfini nommé DefaultAppPool . DefaultAppPool est livré par défaut avec IIS chaque fois que vous activez cette fonctionnalité dans windows. Pour WebApps, vous pouvez toujours créer des appPools frais/nouveaux et exécuter votre webApp à l'intérieur de votre appPool nouvellement créé. Ces appPools vous fournissent que l'espace de processus physique/séparé (sous forme de processus de travail) avec l'aide de laquelle IIS est capable fournir des services comme l'état de sessions, l'état d'application etc dans des silos à une webApp quand il a son propre appPool défini. Chaque fois que l'application appPool de votre webApp tombe en panne, les autres webApps (en utilisant leur propre application appPool personnalisée) ou répertoires virtuels (en utilisant DefaultAppPool appPool) restent complètement inchangés.

1
répondu RBT 2016-06-30 01:12:19