Qu'est-ce que le Pool D'applications dans IIS et Asp.Net je ne sais pas. [duplicata]

cette question a déjà une réponse ici:

comment le pool d'applications est-il implémenté dans IIS?

  1. est-ce que chaque groupe d'applications est équivalent à un .net AppDomain?
  2. ou il est l'équivalent d'un processus .Net?
  3. Comment est-ce pool d'Applications liées à IIS w3wp.exe?
23
demandé sur Amitabh 2010-04-17 22:53:14

4 réponses

1 . Chaque groupe d'applications est-il équivalent à un .net AppDomain?

non, un pool d'applications peut avoir plusieurs AppDomains. Chaque Appdomaine représente un seul exécution ASP.NET Application. Beaucoup ASP.NET les demandes peuvent appartenir à une seule catégorie.

2 . Ou est-ce l'équivalent d'un processus. Net?

pas tout à fait. Voir ci-dessous.

3 . Comment le bassin D'applications est-il lié à IIS w3wp.exe?

un bassin de demandes représente un nombre limité de processus de travail qui peuvent accueillir un nombre potentiellement plus élevé de demandes. Ceci est similaire à la façon dont un Pool de connexions SQL partage un nombre limité de connexions parmi un nombre arbitraire de requêtes.

par défaut, un Pool D'Application obtient un processus de travailleur ( w3wp.exe ), et il est généralement préférable de laisser ce rester seul, sauf si tu sais ce que tu fais. Néanmoins, un Pool D'applications peut être configuré pour utiliser n'importe quel nombre de processus.

le processus ouvrier est en fait la ressource qui est mise en commun ici, pas L'Appdomaine. Il y aura toujours le même nombre D'AppDomains qu'il y a ASP.NET Applications (à moins que l'on soit au milieu de la fermeture, ou une application crée ses propres AppDomains), mais le nombre de processus de travail est indépendant; un Pool D'applications vous donne un nombre spécifique de processus de travail pour traiter les demandes pour un nombre spécifique D'AppDomains.

un paramètre de 1 (la valeur par défaut) pour le nombre de processus de travail dans un Pool D'applications signifie que toutes les Applications/domaines dans le pool partagent le même processus de travail.

26
répondu Aaronaught 2010-04-17 22:15:44

c'est une simplification excessive de le dire de cette façon, mais la meilleure façon d'y penser est que L'AppPool est un pool D'AppDomains. Tous ces domaines sont traités par un seul processus ouvrier ( w3wp.exe ).

5
répondu Andrew Hare 2010-04-17 18:55:04

une Autre chose importante à mentionner est Application Security .

dans les versions précédentes de IIS, les processus de travail ont fonctionné comme LocalSystem , un compte puissant qui a les privilèges d'administrateur de système sur le serveur. Parce que LocalSystem a accès à presque toutes les ressources sur le système d'exploitation, cela a causé des implications de sécurité. Dans IIS 6.0 ( Application pool introduced) , on peut définir l'identité du processus de travail à la niveau du bassin d'application. L'identité d'un pool de demandes est le compte dans lequel s'exécute le processus du travailleur du pool de demandes. Par défaut, les pools d'applications fonctionnent sous le compte NetworkService , qui a des droits d'accès utilisateur de faible niveau.

en exécutant le processus worker à l'aide d'un compte très peu privilégié tel que NetworkService, on peut réduire la vulnérabilité en matière de sécurité. Toutefois, en utilisant IIS manager, il est possible de configurer le pool d'applications à exécuter comme l'un des comptes prédéfinis suivants:

NetworkService
LocalSystem
LocalService
2
répondu Mahbubur Rahman 2016-10-11 23:10:17

je sais que c'est un vieux post, mais je pense que c'est un bon accent:

1 Pool D'applications (IIS) = 1 file D'attente de requêtes (en HTTP.SYS) + 1 ou plusieurs instances de w3wp.EXE.

1
répondu Vince Fedorchak 2012-04-09 23:37:56