Размещение в службе активации процессов 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.
Сценарий | Привязки сайта | Путь к приложению | Базовые 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, и все они используют общее удостоверение процесса. Каждый пул приложений соответствует экземпляру рабочего процесса (w3wp.exe). Каждое управляемое приложение, работающее внутри общего пула приложений, изолировано от других приложений с помощью clR AppDomain.