Настройка службы активации процессов Windows для использования с Windows Communication Foundation Configuring the Windows Process Activation Service for Use with Windows Communication Foundation
В этом разделе описываются шаги, необходимые для настройки службы активации Windows (также известной как WAS) в Windows Vista для размещения служб Windows Communication Foundation (WCF), не передающих сетевые протоколы HTTP. This topic describes the steps required to set up Windows Process Activation Service (also known as WAS) in Windows Vista to host Windows Communication Foundation (WCF) services that do not communicate over HTTP network protocols. Настройка предполагает следующие шаги. The following sections outline the steps for this configuration:
Установите (или подтвердите установку) необходимые компоненты активации WCF. Install (or confirm the installation of) the WCF activation components required.
Создайте узел WAS с привязками сетевых протоколов, которые планируется использовать, или добавьте новую привязку протокола в существующий узел. Create a WAS site with the network protocol bindings you wish to use, or add a new protocol binding to an existing site.
Создайте приложение для размещения служб и разрешите этому приложению использовать требуемые сетевые протоколы. Create an application to host your services and enable that application to use the required network protocols.
Создайте службу WCF, которая предоставляет конечную точку, отличную от HTTP. Build a WCF service that exposes a non-HTTP endpoint.
Настройка узла с привязками протоколов, отличных от HTTP Configuring a Site with Non-HTTP bindings
Для использования в сочетании со службой WAS привязки к протоколу, отличному от HTTP, необходимо добавить привязку узла в конфигурацию WAS. To use a non-HTTP binding with WAS, the site binding must be added to the WAS configuration. Хранилищем конфигурации для службы WAS является файл applicationHost.config, находящийся в каталоге %windir%\system32\inetsrv\config. The configuration store for WAS is the applicationHost.config file, located in the %windir%\system32\inetsrv\config directory. Это хранилище конфигурации используется и службой WAS, и службами IIS 7.0. This configuration store is shared by both WAS and IIS 7.0.
applicationHost.config представляет собой текстовый XML-файл, который можно открыть в любом стандартном текстовом редакторе, таком как Блокнот. applicationHost.config is an XML text file that can be opened with any standard text editor (such as Notepad). Однако предпочтительным способом добавления привязок сайта, отличных от HTTP, является средство настройки командной строки IIS 7,0 (appcmd.exe). However, the IIS 7.0 command-line configuration tool (appcmd.exe) is the preferred way to add non-HTTP site bindings.
Следующая команда добавляет в веб-узел по умолчанию привязку узла к протоколу net.tcp с помощью команды appcmd.exe (вводится как одна строка). The following command adds a net.tcp site binding to the default Web site using appcmd.exe (this command is entered as a single line).
Эта команда добавляет новую привязку net.tcp в веб-узел по умолчанию путем добавления приведенной ниже строки в файл applicationHost.config. This command adds the new net.tcp binding to the default Web site by adding the line indicated below to the applicationHost.config file.
Разрешение приложению использовать протоколы, отличные от HTTP Enabling an Application to Use Non-HTTP Protocols
Вы можете включить или отключить отдельную сеть, протоколсат уровень приложения. You can enable or disable individual network protocolsat the application level. Следующая команда иллюстрирует включение и протокола HTTP, и протокола net.tcp для приложения, выполняющегося на сайте Default Web Site . The following command illustrates how to enable both the HTTP and net.tcp protocols for an application that runs in the Default Web Site .
Следующий XML-код из файла applicationHost.config иллюстрирует сайт, привязанный и к протоколу HTTP, и к протоколу, отличному от HTTP. The following XML code from applicationHost.config illustrates a site bound to both HTTP and non-HTTP protocols. Дополнительная конфигурация, необходимая для поддержки отличных от HTTP протоколов, выделена комментариями. The additional configuration required to support non-HTTP protocols is called out with comments.
При попытке запустить службу с помощью WAS для активации по протоколу, отличному от HTTP, когда службы WAS не установлены и не настроены, может появиться сообщение об ошибке: If you attempt to activate a service using WAS for Non-HTTP activation and you have not installed and configured WAS you may see the following error:
Если появилось это сообщение об ошибке, убедитесь, что установлены и правильно настроены службы WAS для активации по протоколу, отличному от HTTP. If you see this error ensure WAS for Non-HTTP Activation is installed and configured properly. Дополнительные сведения см. в разделе инструкции. Установка и настройка компонентов активации WCF. For more information, see How to: Install and Configure WCF Activation Components.
Построение службы WCF, использующей WAS для активации по протоколу, отличному от HTTP Building a WCF Service That Uses WAS for Non-HTTP activation
После выполнения действий по установке и настройке WAS (см. раздел как установить и настроить компоненты активации WCF) Настройка службы для использования была выполнена для активации аналогично настройке службы, размещенной в службах IIS. Once you perform the steps to install and configure WAS (see How to: Install and Configure WCF Activation Components), configuring a service to use WAS for activation is similar to configuring a service that is hosted in IIS.
Подробные инструкции по созданию активированной службы WCF см. в разделе как разместить службу WCF в WAS. For detailed instructions about building a WAS-activated WCF service, see How to: Host a WCF Service in WAS.
Размещение в службе активации процессов Windows Hosting in Windows Process Activation Service
Служба активации Windows (WAS) управляет активацией и временем жизни рабочих процессов, которые содержат приложения, размещенные в службах Windows Communication Foundation (WCF). The Windows Process Activation Service (WAS) manages the activation and lifetime of the worker processes that contain applications that host Windows Communication Foundation (WCF) services. Модель процесса WAS обобщает модель процесса IIS 6.0 для HTTP-сервера, удаляя зависимость от HTTP. The WAS process model generalizes the IIS 6.0 process model for the HTTP server by removing the dependency on HTTP. Это позволяет службам WCF использовать протоколы HTTP и отличные от HTTP, такие как net. TCP, в среде размещения, которая поддерживает активацию на основе сообщений и предлагает возможность размещения большого количества приложений на определенном компьютере. This allows WCF services to use both HTTP and non-HTTP protocols, such as Net.TCP, in a hosting environment that supports message-based activation and offers the ability to host a large number of applications on a given machine.
Дополнительные сведения о построении службы WCF, работающей в среде с размещением, см. в разделе как разместить службу WCF в WAS. For more information about building a WCF service that runs in the WAS hosting environment, see How to: Host a WCF Service in WAS.
Модель процессов WAS предоставляет несколько функций, благодаря которым размещение приложений можно осуществлять более надежным и управляемым способом и при этом более эффективно использовать ресурсы. The WAS process model provides several features that enable applications to be hosted in a way that is more robust, more manageable, and that uses resources efficiently:
Активация приложений на основе сообщений и динамические запуск и остановка приложений рабочего процесса в ответ на входящие рабочие элементы, поступающие по протоколу HTTP или по сетевым протоколам, отличным от HTTP. Message-based activation of applications and worker process applications start and stop dynamically in response to incoming work items that arrive using HTTP and non-HTTP network protocols.
Надежный перезапуск приложений и рабочих процессов для поддержания состояния выполняемых приложений. Robust application and worker process recycling to maintain the health of running applications.
Централизованные настройка приложений и управление ими. Centralized application configuration and management.
Возможность использования приложениями модели процессов IIS без развертывания полной установки IIS. Allows applications to take advantage of the IIS process model without requiring the deployment footprint of a full IIS installation.
Windows Server AppFabric работает с IIS 7,0 и службой активации Windows (WAS), чтобы предоставить обширную среду размещения приложений для служб NET4 WCF и WF. Windows Server AppFabric works with IIS 7.0 and Windows Process Activation Service (WAS) to provide a rich application hosting environment for NET4 WCF and WF services. К ее преимуществам относятся управление жизненным циклом, перезапуск процессов, совместное размещение, быстрая защита от сбоев, обработка потерянных процессов, активация по запросу и наблюдение за работоспособностью. These benefits include process life-cycle management, process recycling, shared hosting, rapid failure protection, process orphaning, on-demand activation, and health monitoring. Подробные сведения см. в разделе функции размещения AppFabric и Основные понятия размещения AppFabric. For detailed information, see AppFabric Hosting Features and AppFabric Hosting Concepts.
Элементы модели адресации WAS Elements of the WAS Addressing Model
Приложения имеют адреса универсального кода ресурса (URI), представляющие собой единицы кода, временем существования и средой выполнения которых управляет сервер. Applications have Uniform Resource Identifier (URI) addresses, which are the code units whose lifetime and execution environment are managed by the server. В одном экземпляре сервера WAS может размещаться много различных приложений. A single WAS server instance can be home to many different applications. Серверы организуют приложения в группы, называемые сайтами. Servers organize applications into groups called sites. Внутри узла приложения упорядочены иерархически, их расположение отражает структуру URI, выполняющих функцию их внешних адресов. Within a site, applications are arranged in a hierarchical manner that reflects the structure of the URIs that serve as their external addresses.
Адреса приложений состоят из двух частей: базовый префикс URI и относительный адрес конкретного приложения (путь), сочетание этих элементов дает внешний адрес приложения. Application addresses have two parts: a base URI prefix and an application-specific, relative address (path), which provide the external address for an application when joined together. Базовый префикс URI создается из привязки узла и используется для всех приложений в этом узле. The base URI prefix is constructed from the site binding and is used for all the applications under the site. После этого адреса приложений создаются путем создания фрагментов пути для конкретного приложения (например, «/Аппликатиононе») и добавления их к базовому префиксу URI (например, «net. TCP://localhost») для получения полного URI приложения. Application addresses are then constructed by taking application-specific path fragments (such as, «/applicationOne») and appending them to the base URI prefix (for example, «net.tcp://localhost») to arrive at the full application URI.
В следующей таблице приведены несколько возможных сценариев адресации для сайтов WAS с привязками сайтов HTTP и привязками сайтов, отличными от HTTP. The following table illustrates several possible addressing scenarios for WAS sites with both HTTP and non-HTTP site bindings.
Практическое руководство. Установка и настройка компонентов активации WCF How to: Install and Configure WCF Activation Components
В этом разделе описываются шаги, необходимые для настройки службы активации Windows (также известной как WAS) в Windows Vista для размещения служб Windows Communication Foundation (WCF), не передающих сетевые протоколы HTTP. This topic describes the steps required to set up Windows Process Activation Service (also known as WAS) on Windows Vista to host Windows Communication Foundation (WCF) services that do not communicate over HTTP network protocols. Настройка предполагает следующие шаги. The following sections outline the steps for this configuration:
Установите (или подтвердите установку) компоненты активации WCF. Install (or confirm the installation of) the WCF activation components.
Настройте WAS на поддержку отличных от HTTP протоколов. Configure WAS to support a non-HTTP protocol. Следующая процедура настраивает Windows Vista для активации TCP. The following procedure configures Windows Vista for TCP activation.
После установки и настройки WAS см. раздел как разместить службу WCF в WAS для процедур создания службы WCF, предоставляющей конечную точку, которая не является КОНЕЧНОЙ точкой HTTP. After installing and configuring WAS, see How to: Host a WCF Service in WAS for the procedures to create a WCF service that exposes an non-HTTP endpoint that employs WAS.
Установка компонентов активации WCF, работающих по отличному от HTTP протоколу To install the WCF non-HTTP activation components
В меню Пуск выберите пункт Панель управления. Click the Start button, and then click Control Panel.
Последовательно выберите Программы, Программы и компоненты. Click Programs, and then click Programs and Features.
В меню задачи выберите команду Включение или отключение компонентов Windows. On the Tasks menu, click Turn Windows features on or off.
Найдите узел WinFX, выберите и разверните его. Find the WinFX node, select and then expand it.
Выберите пункт WCF-компоненты активации, отличные от HTTP и сохраните параметр. Select the WCF Non-Http Activation Components box and save the setting.
Настройка WAS на поддержку протокола TCP To configure the WAS to support TCP activation
Для поддержки активации по net.tcp веб-узел по умолчанию необходимо сначала привязать к порту net.tcp. To support net.tcp activation, the default Web site must first be bound to a net.tcp port. Это можно сделать с помощью Appcmd.exe, который устанавливается вместе с набором средств управления IIS 7,0. You can do this by using Appcmd.exe, which is installed with the IIS 7.0 management toolset. В окне командной строки с правами администратора выполните следующую команду. In an administrator-level Command Prompt window, run the following command.
Эта команда представляет собой одну строку текста. This command is a single line of text. Она добавляет привязку узла к протоколу net.tcp в веб-узел по умолчанию, ожидающему передачи данных по протоколу TCP на порту 808 с любым именем узла. This command adds a net.tcp site binding to the default Web site listening on TCP port 808 with any host name.
Несмотря на то что все приложения в узле имеют общую привязку к протоколу net.tcp, включать поддержку net.tcp можно для каждого приложения отдельно. Although all applications within a site share a common net.tcp binding, each application can enable net.tcp support individually. Для включения протокола net.tcp для данного приложения необходимо выполнить следующую команду из командной строки с правами администратора. To enable net.tcp for the application, run the following command from an administrator-level command prompt.
Эта команда представляет собой одну строку текста. This command is a single line of text. Эта команда обеспечивает доступ к приложению или с помощью http://localhost/ и net.tcp://localhost/ . This command enables the / application to be accessed using both http://localhost/ and net.tcp://localhost/ .
Удалите привязку сайта к протоколу net.tcp, добавленную ранее для данного образца. Remove the net.tcp site binding you added for this sample.
Для удобства два нижеописанных действия выполняются в пакетом файле RemoveNetTcpSiteBinding.cmd, расположенном в каталоге с образцами. As a convenience, the following two steps are implemented in a batch file called RemoveNetTcpSiteBinding.cmd located in the sample directory.
Удалите протокол net.tcp из списка разрешенных протоколов, выполнив следующую команду в окне командной строки с правами администратора. Remove net.tcp from the list of enabled protocols by running the following command in an administrator-level Command Prompt window.
Эта команда представляет собой одну строку текста. This command is a single line of text.
Удалите привязку узла к протоколу net.tcp, выполнив следующую команду в окне командной строки с повышенными привилегиями: Remove the net.tcp site binding by running the following command in an elevated Command Prompt window:
Эта команда представляет собой одну строку текста. This command is a single line of text.
Удаление протокола net.tcp из списка разрешенных протоколов To remove net.tcp from the list of enabled protocols
Для того чтобы удалить протокол net.tcp из списка разрешенных протоколов, необходимо выполнить следующую команду в окне командной строки с правами администратора. To remove net.tcp from the list of enabled protocols, run the following command in an administrator-level Command Prompt window.
Эта команда представляет собой одну строку текста. This command is a single line of text.
Удаление привязки узла к протоколу net.tcp To remove the net.tcp site binding
Для того чтобы удалить привязку узла к протоколу net.tcp, необходимо выполнить следующую команду в окне командной строки с правами администратора: To remove the net.tcp site binding run the following command in an administrator-level Command Prompt window.
Эта команда представляет собой одну строку текста. This command is a single line of text.