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