Serviços de fluxo de trabalho de hospedagem
Um serviço de fluxo de trabalho deve ser hospedado para responder às mensagens recebidas. Os serviços de fluxo de trabalho usam a infraestrutura de mensagens WCF e, portanto, são hospedados de maneiras semelhantes. Como os serviços WCF, os serviços de fluxo de trabalho podem ser hospedados em qualquer aplicativo gerenciado, em Serviços de Informações da Internet (IIS) ou em Serviços de Ativação de Processos do Windows (WAS). Além disso, os serviços de fluxo de trabalho podem ser hospedados no Windows Server App Fabric. Para obter mais informações sobre o Windows Server App Fabric, consulte a documentação do Windows Server App Fabric, os recursos de hospedagem do AppFabric e os conceitos de hospedagem do AppFabric. Para obter mais informações sobre as várias maneiras de hospedar serviços WCF, consulte Serviços de hospedagem.
Hospedagem em um aplicativo gerenciado
Para hospedar um serviço de fluxo de trabalho em um aplicativo gerenciado, use a WorkflowServiceHost classe. O WorkflowServiceHost construtor permite especificar uma instância de serviço de fluxo de trabalho singleton, uma definição de serviço de fluxo de trabalho ou uma atividade que usa as atividades de mensagens de fluxo de trabalho. A chamada Open faz com que o serviço comece a escutar as mensagens recebidas.
Hospedagem em IIS ou WAS
Hospedar um serviço de fluxo de trabalho no IIS ou WAS envolve a criação de um diretório virtual e a colocação de arquivos no diretório virtual que definem o serviço e seu comportamento. Ao hospedar um serviço de fluxo de trabalho no IIS ou WAS, há várias possibilidades:
Coloque um arquivo .xamlx que define o serviço de fluxo de trabalho em um diretório virtual do IIS/WAS junto com um arquivo Web.config que especifica os comportamentos do serviço, pontos de extremidade e outros elementos de configuração.
Coloque um arquivo .xamlx que define o serviço de fluxo de trabalho em um diretório virtual do IIS/WAS. O arquivo .xamlx especifica os pontos de extremidade a serem expostos. Os pontos de extremidade são especificados em um
WorkflowService.Endpoints
elemento como mostrado no exemplo a seguir.<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>
Nota
Os comportamentos não podem ser especificados em um arquivo .xamlx, portanto, você deve usar um Web.config se precisar especificar configurações de comportamento.
Coloque um arquivo .xamlx que define o serviço de fluxo de trabalho em um diretório virtual do IIS/WAS. Além disso, coloque um arquivo .svc no diretório virtual. O arquivo .svc permite especificar uma fábrica de host de serviço Web personalizada, aplicar comportamento personalizado ou carregar a configuração de um local personalizado.
Coloque um assembly no diretório virtual do IIS/WAS que contém uma atividade que usa as atividades de mensagens do WCF.
Um arquivo .xamlx que define um serviço de fluxo de trabalho deve conter um <Service>
elemento raiz ou um elemento raiz que contenha qualquer tipo derivado de Activity. Ao usar o modelo de atividade do Visual Studio, um arquivo .xamlx é criado. Ao usar o modelo WCF Workflow Service, um arquivo .xamlx é criado.
Hospedando serviços de fluxo de trabalho no Windows Server App Fabric
A hospedagem de um serviço de fluxo de trabalho no Windows Server App Fabric é feita da mesma forma que a hospedagem no IIS/WAS. A única diferença é o fato de que o Windows Server App Fabric está instalado. O Windows Server App Fabric fornece ferramentas que são adicionadas ao Gerenciador dos Serviços de Informações da Internet, bem como commandlets do PowerShell. Essas ferramentas simplificam a implantação, o gerenciamento e o acompanhamento de serviços de fluxo de trabalho e serviços WCF.
Referenciando atividades personalizadas
As referências a atividades personalizadas devem ser adicionadas <Assemblies>
à seção abaixo <System.Web.Compilation>
para que sejam carregadas no Domínio do Aplicativo e o desserializador XAML possa localizar os tipos. Essas configurações podem ser feitas no nível do aplicativo ou no Web.config raiz se as configurações devem ser aplicadas a todos os aplicativos na máquina.
Implementação
A ferramenta de implantação da Web foi criada para facilitar o trabalho de implantação. A ferramenta permite migrar aplicativos entre o IIS 6.0 e o IIS 7.0, sincronizar farms de servidores e empacotar, arquivar e implantar aplicativos Web. Para obter mais informações, consulte MS Deployment Tool.