Относительно ASP.NET, WCF, приложение. Домен, экземпляр, процесс, приложение. Бассейн, w3wp.exe.
Вопрос
Ситуация: у меня есть сайт, который называет службу WCF, и я пытаюсь его понять ..
Вопрос: Подумайте, что у меня есть веб-сайт ASP.NET (IIS7), как мне относятся к Aspdomain, W3WP.EXE, экземпляр, app.pool. & Как я могу связать службу WCF с (AppDomain, экземпляр, app.pool) с Server & Windows Service.. когда несколько запросов сделаны на веб-сайт ASP.NET и веб-сайт звонков WCF .. Как это будет связано друг с другом? Я немного запутался ... если возможно, может кто-нибудь из вас поставить диаграмму, чтобы связать ее ..
Высоко цените ваши ответы
Решение
Что именно вам нужно знать или не понимает?
- W3WP.EXE - это процесс IIS использует для запуска AppPool в
- AppPool - это концепция IIS, не существует в .NET
- Каждое приложение веб-сайта работает в нем собственный appdomain
- AppPools запускает несколько приложений сайта внутри того же процесса
- AppDomain - это концепция .NET, которая относится к тому, как код выполняется в вашем приложении, устанавливает границы и такие.
- Из MSDN: представляет собой домен приложений, который является изолированной средой, где выполняется приложения.
- Вы можете иметь много Appdomains внутри того же процесса, но appdomains не могут жить в разных процессах.
- Код в одном appdomain может создать новые appdomains
- Вы можете общаться через границы appdomain через отступление
- Техника для общения с другим Appdomain в том же процессе, в другом процессе или даже на удаленном компьютере одинаково.
Вся код в .NET должен быть выполнен в Appdomain. Если вы проводите свою службу WCF в своем приложении ASP.NET, служба WCF будет работать в том же AppDomain, что и ваше приложение ASP.NET (см. WCF и ASP.NET http://msdn.microsoft.com/en-us/library/aaa702682.aspx.). В этом контексте AppDomain будет работать в AppPool внутри IIS, но что HOS не имеет ничего общего с .NET.
Если вы размещаете службу WCF в службе Windows, служба WCF будет работать в AppDomain, созданном сервисом Windows, здесь не участвуют AppPools.
Если ваш путь выполнения
- Клиент Запросы на веб-страницу ASP.NET, размещенные на IIS
- Веб-страница Заказать WCF Сервис, размещенная в Windows Service
Тогда будет 1 AppPool, 1 W3WP.EXE процесс, 1 процесс обслуживания Windows и 2 задействования Appdomains.
Я не знаю, относится ли ваш вопрос каким-либо образом WCF Сервис Appdomain Детали ?