Относительно 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.

Если ваш путь выполнения

  1. Клиент запрашивает веб-страницу asp.net, размещенную на IIS
  2. веб-страница запрашивает службу WCF, размещенную в службе Windows

затем будет задействован 1 AppPool, 1 процесс W3Wp.exe, 1 процесс службы Windows и 2 домена приложений.

Я не знаю, относится ли ваш вопрос к деталям Appdomain службы WCF?

Другие вопросы по тегам