Размещение службы рабочего процесса

Для обработки входящих сообщений служба рабочих процессов должна быть размещена. Службы рабочих процессов используют инфраструктуру обмена сообщениями WCF и поэтому также требуют размещения. Как и службы WCF, службы рабочих процессов могут размещаться в любом управляемом приложении, в службы IIS (IIS) или в службах активации процессов Windows (WAS). Кроме того, службы рабочих процессов можно размещать в Windows Server App Fabric. Дополнительные сведения о Windows Server App Fabric см . в документации по Windows Server App Fabric, функциях размещения AppFabric и концепциях размещения AppFabric. Дополнительные сведения о различных способах размещения служб WCF см. в разделе "Службы размещения".

Размещение в управляемом приложении

Размещение службы рабочего процесса в управляемом приложении производится с помощью класса WorkflowServiceHost. Конструктор WorkflowServiceHost позволяет указать одноэлементный экземпляр службы рабочих процессов, определить службу рабочих процессов или действие, которое использует действия обмена сообщениями рабочих процессов. После вызова метода Open служба переходит в режим ожидания передачи входящих сообщений.

Размещение в службах IIS или WAS

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

  • Разместите XAMLX-файл, определяющий службу рабочих процессов, в виртуальном каталоге IIS/WAS вместе с файлом Web.config, который определяет режимы работы службы, конечные точки и другие элементы конфигурации.

  • Поместите XAMLX-файл, определяющий службу рабочего процесса, в виртуальный каталог IIS/WAS. XAMLX-файл определяет доступ к конечным точкам. Конечные точки указываются в элементе WorkflowService.Endpoints, как показано в следующем примере.

    <WorkflowService xmlns="http://schemas.microsoft.com/netfx/2009/xaml/servicemodel"  xmlns:p1="http://schemas.microsoft.com/netfx/2009/xaml/activities" xmlns:sad="clr-namespace:System.Activities.Debugger;assembly=System.Activities" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
      <WorkflowService.Endpoints>
        <Endpoint ServiceContractName="IWorkFlowEchoService" AddressUri="">
          <Endpoint.Binding>
            <BasicHttpBinding />
          </Endpoint.Binding>
        </Endpoint>
      </WorkflowService.Endpoints>
    <!-- ... -->
    </WorkflowService>
    

    Примечание.

    В XAMLX-файле определить параметры поведения нельзя, поэтому для этого необходимо использовать файл Web.config.

  • Поместите XAMLX-файл, определяющий службу рабочего процесса, в виртуальный каталог IIS/WAS. Кроме того, в виртуальном каталоге может быть размещен SVC-файл. В этом файле можно указать пользовательскую фабрику узла веб-службы, применить пользовательское поведение или загрузить конфигурацию из альтернативного расположения.

  • Разместите сборку в виртуальном каталоге IIS/WAS, который содержит действие, использующее действия обмена сообщениями WCF.

XAMLX-файл, определяющий службу рабочего процесса, должен содержать <Service> корневой элемент или корневой элемент, содержащий любой тип, производный от .Activity При использовании шаблона действия Visual Studio создается XAMLX-файл. При использовании шаблона службы рабочих процессов WCF создается XAMLX-файл.

Размещение служб рабочего процесса в фабрике приложений Windows Server

Размещение службы рабочего процесса в фабрике приложений Windows Server осуществляется аналогично ее размещению на веб-сервере IIS/WAS. Единственное отличие состоит в том, что установлена фабрика приложений Windows Server. Windows Server App Fabric предоставляет средства, добавленные в диспетчер службы IIS, а также командлеты PowerShell. Эти средства упрощают развертывание, управление и наблюдение за службами рабочего процесса и службами WCF.

Ссылки на пользовательские действия

Ссылки на пользовательские действия необходимо добавить <Assemblies> в раздел <System.Web.Compilation> , чтобы они загружались в домен приложения, а десериализатор XAML может находить типы. Эти параметры могут быть указаны на уровне приложения или в корневом файле Web.config, если необходимо применять их ко всем приложениям компьютера.

Развертывание

Для облегчения задачи развертывания создается инструмент веб-развертывания. Инструмент позволяет переносить приложения между IIS 6.0 и IIS 7.0, выполнять синхронизацию ферм серверов, а также упаковывать, архивировать и развертывать веб-приложения. Дополнительные сведения см. в средстве развертывания MS.

См. также