Размещение в службе активации процессов Windows

Служба активации процессов Windows (WAS) управляет активацией и временем существования рабочих процессов, содержащих приложения, в которых размещаются службы Windows Communication Foundation (WCF). Модель процесса WAS обобщает модель процесса IIS 6.0 для HTTP-сервера, удалив зависимость от HTTP. Это позволяет службам WCF использовать протоколы HTTP и не HTTP, такие как Net.TCP, в среде размещения, которая поддерживает активацию на основе сообщений и обеспечивает возможность размещения большого количества приложений на определенном компьютере.

Дополнительные сведения о создании службы WCF, работающей в среде размещения WAS, см. в разделе "Практическое руководство. Размещение службы WCF в WAS".

Модель процессов WAS предоставляет несколько функций, благодаря которым размещение приложений можно осуществлять более надежным и управляемым способом и при этом более эффективно использовать ресурсы.

  • Активация приложений на основе сообщений и динамические запуск и остановка приложений рабочего процесса в ответ на входящие рабочие элементы, поступающие по протоколу HTTP или по сетевым протоколам, отличным от HTTP.

  • Надежный перезапуск приложений и рабочих процессов для поддержания состояния выполняемых приложений.

  • Централизованные настройка приложений и управление ими.

  • Возможность использования приложениями модели процессов IIS без развертывания полной установки IIS.
    Windows Server AppFabric работает с службами IIS 7.0 и Службой активации процессов Windows (WAS), чтобы предоставить многофункциональную среду размещения приложений для служб WCF и WF NET4. К ее преимуществам относятся управление жизненным циклом, перезапуск процессов, совместное размещение, быстрая защита от сбоев, обработка потерянных процессов, активация по запросу и наблюдение за работоспособностью. Подробные сведения см. в разделе "Функции размещения AppFabric" и "Основные понятия размещения AppFabric".

Элементы модели адресации WAS

Приложения имеют адреса универсального кода ресурса (URI), представляющие собой единицы кода, временем существования и средой выполнения которых управляет сервер. В одном экземпляре сервера WAS может размещаться много различных приложений. Серверы упорядочивают приложения в группы, называемые сайтами. Внутри узла приложения упорядочены иерархически, их расположение отражает структуру URI, выполняющих функцию их внешних адресов.

Адреса приложений состоят из двух частей: базовый префикс URI и относительный адрес конкретного приложения (путь), сочетание этих элементов дает внешний адрес приложения. Базовый префикс URI создается из привязки узла и используется для всех приложений в этом узле. Затем адреса приложений создаются путем получения фрагментов пути для конкретного приложения (например, "/applicationOne") и добавления их в префикс базового URI (например, net.tcp://localhost), чтобы получить полный URI приложения.

В следующей таблице приведены несколько возможных сценариев адресации для сайтов WAS с привязками сайтов HTTP и привязками сайтов, отличными от HTTP.

Сценарий Привязки узла Application path Базовые URI приложения
только HTTP; http: *:80:* /appTwo http://localhost/appTwo/
HTTP и отличные от HTTP http: *:80:*

net.tcp: 808:*
/appTwo http://localhost/appTwo/
net.tcp://localhost/appTwo/
Только отличные от HTTP net.pipe: * /appThree net.pipe://appThree/

Можно также обращаться к службам и ресурсам внутри приложения. Обратиться к ресурсам приложения внутри приложения можно с помощью базового пути к приложению. Например, предположим, что узел на компьютере с именем contoso.com имеет привязки узла для протоколов HTTP и Net.TCP. Также предположим, что узел содержит одно приложение, расположенное в /Billing и предоставляющее службу в GetOrders.svc. Тогда, если бы служба GetOrders.svc предоставляла конечную точку с относительным адресом SecureEndpoint, конечная точка службы предоставлялась бы в двух следующих URI:

  • http://contoso.com/Billing/GetOrders.svc/SecureEndpoint
  • net.tcp://contoso.com/Billing/GetOrders.svc/SecureEndpoint

Среда выполнения WAS

Приложения организуются в узлы для адресации и управления. В среде выполнения приложения также группируются в пулы приложений. В пуле приложения можно разместить большое количество различных приложений из многих узлов. Все приложения внутри пула приложений имеют общий набор характеристик среды выполнения. Например, они все выполняются в среде CLR (common language runtime) одной и той же версии и имеют одно и то же удостоверение процесса. Каждый пул приложений соответствует экземпляру рабочего процесса (w3wp.exe). Каждое управляемое приложение, выполняемое внутри общего пула приложений, изолировано от других приложений с помощью AppDomain среды CLR.

См. также