Что именно вы должны знать или не понимать?
- W3Wp.exe - это процесс, который IIS использует для запуска AppPool в
- AppPool - это концепция IIS, не существует в .Net
- Каждое веб-приложение запускается в своем собственном домене приложений
- AppPools запускает несколько веб-приложений внутри одного процесса
- AppDomain - это концепция .Net, которая относится к тому, как код выполняется внутри вашего приложения, устанавливает границы и тому подобное.
- Из MSDN: представляет домен приложения, представляющий собой изолированную среду, в которой выполняются приложения.
- В одном и том же процессе может быть много доменов приложений, но домены приложений не могут существовать в разных процессах.
- Код в одном домене приложений может создавать новые домены приложений
- Вы можете обмениваться данными через границы домена приложений с помощью удаленного взаимодействия
- Техника для связи с другим доменом приложений в том же процессе, в другом процессе или даже на удаленномкомпьютер один и тот же.
Весь код в .Net должен выполняться внутри AppDomain.Если вы размещаете службу WCF в своем приложении ASP.Net, служба WCF будет работать в том же AppDomain, что и ваше приложение ASP.Net (см. WCF и ASP.Net http://msdn.microsoft.com/en-us/library/aa702682.aspx).. В этом контексте AppDomain будет работатьв AppPool внутри IIS, но это не имеет ничего общего с .Net.
Если вы размещаете службу WCF в службе Windows, служба WCF будет работать внутри AppDomain, созданного службой Windows, никаких AppPoolsучаствует здесь.
Если ваш путь выполнения
- Клиент запрашивает веб-страницу asp.net, размещенную на IIS
- , веб-страница запрашивает службу WCF, размещенную в службе Windows
тогда будет 1 AppPool, 1 W3Wp.exe, 1 процесс Windows Service и 2 AppDomains.
Я не знаю, относится ли ваш вопрос каким-либо образом к WCF-сервис Детали домена приложения ?