Hospedar servicios de flujo de trabajo
Debe hospedarse un servicio del flujo de trabajo para que responda a los mensajes entrantes. Los servicios del flujo de trabajo usan la infraestructura de mensajería de WCF y, por lo tanto, se hospedan de maneras similares. Como servicios WCF, los servicios de flujo de trabajo se pueden hospedar en cualquier aplicación administrada, en Internet Information Services (IIS) o en el Servicio de activación de procesos de Windows (WAS). Además, los servicios de flujo de trabajo se pueden hospedar en Windows Server AppFabric. Para obtener más información sobre Windows Server AppFabric, consulte la documentación de Windows Server AppFabric, Características de hospedaje de Windows Server AppFabric y Conceptos de hospedaje. Para obtener más información sobre las distintas formas de hospedar servicios WCF, consulte Servicios de hospedaje.
Hospedar en una aplicación administrada
Para hospedar un servicio de flujo de trabajo en una aplicación administrada, use la clase WorkflowServiceHost. El constructor WorkflowServiceHost le permite especificar una instancia de servicio del flujo de trabajo singleton, una definición del servicio de flujo de trabajo o una actividad que usa las actividades de mensajería de flujo de trabajo. Una llamada al método Open hace que el servicio comience a realizar escuchas de los mensajes entrantes.
Hospedar en IIS o WAS
Hospedar un servicio de flujo de trabajo en IIS o FUE implica la creación de un directorio virtual y la colocación de archivos en el directorio virtual para definir el servicio y su comportamiento. Al hospedar un servicio de flujo de trabajo en IIS o WAS, existen varias posibilidades:
Coloque un archivo .xamlx que defina el servicio de flujo de trabajo en un directorio virtual de IIS/WAS junto con un archivo Web.config que especifique los comportamientos del servicio, los puntos de conexión y otros elementos de configuración.
Coloque en un directorio virtual de IIS/WAS un archivo .xamlx que defina el servicio del flujo de trabajo. El archivo .xamlx especifica los extremos que se van a exponer. Los extremos se especifican en un elemento
WorkflowService.Endpoints
, como se muestra en el siguiente ejemplo.<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
Los comportamientos no se pueden especificar en un archivo .xamlx, de modo que debe usar un archivo Web.config si necesita especificar la configuración del comportamiento.
Coloque en un directorio virtual de IIS/WAS un archivo .xamlx que defina el servicio del flujo de trabajo. Además, coloque un archivo .svc en el directorio virtual. El archivo .svc le permite especificar un generador de host de servicio Web personalizado, aplicar el comportamiento personalizado o cargar la configuración desde una ubicación personalizada.
Coloque en el directorio virtual de IIS/WAS un ensamblado que contenga una actividad que use las actividades de mensajería de WF.
Un archivo .xamlx que define un servicio de flujo de trabajo debe contener un elemento raíz <Service>
o que contenga cualquier tipo derivado de Activity. Al utilizar la plantilla de actividad de Visual Studio, se crea un archivo .xamlx. Al utilizar la plantilla de servicio de flujo de trabajo de WCF, se crea un archivo .xamlx.
Hospedar servicios de flujo de trabajo en Windows Server App Fabric
El hospedaje de un servicio de flujo de trabajo en Windows Server App Fabric se realiza del mismo modo que el hospedaje en IIS/WAS. La única diferencia es el hecho de que Windows Server App Fabric se instala. Windows Server AppFabric proporciona herramientas que se agregan al Administrador de Internet Information Services, además de los cmdlets de PowerShell. Estas herramientas simplifican la implementación, la administración y el seguimiento de los servicios de flujo de trabajo y los servicios WCF.
Hacer referencia a actividades personalizadas
Deben agregarse referencias a las actividades personalizadas en la sección <Assemblies>
en <System.Web.Compilation>
para que se carguen en el dominio de la aplicación y el deserializador XAML pueda buscar los tipos. Esta configuración se puede realizar en el nivel de la aplicación o en el archivo Web.config de la raíz si la configuración se debe aplicar a todas las aplicaciones del equipo.
Implementación
La herramienta de implementación web se ha creado para facilitar el trabajo de implementación. La herramienta le permite migrar las aplicaciones entre IIS 6.0 e IIS 7.0, sincronizar las granjas de servidores y empaquetar, archivar e implementar las aplicaciones web. Para obtener más información, consulte Web Deploy.