Размещение в службе активации процессов 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.