Compartir a través de


Opciones de hospedaje de flujo de trabajo

La mayoría de los ejemplos de Windows Workflow Foundation (WF) usa los flujos de trabajo hospedados en una aplicación de consola, pero no es un escenario realista para los flujos de trabajo reales. Los flujos de trabajo de aplicaciones empresariales reales se hospedarán en procesos persistentes: un servicio de Windows creado por el desarrollador o una aplicación de servidor como IIS 7.0 o AppFabric. Las diferencias entre estas aproximaciones son las que se indican a continuación.

Hospedar flujos de trabajo en IIS con Windows AppFabric

Usar IIS con AppFabric es el host preferido para los flujos de trabajo. Windows Activation Service, que quita la dependencia de HTTP a través de IIS solamente, es la aplicación de host para flujos de trabajo que usan AppFabric.

Hospedar flujos de trabajo solo en IIS

No se recomienda usar IIS 7.0 solamente, ya que hay herramientas de administración y de supervisión disponibles en AppFabric que facilitan el mantenimiento de las aplicaciones en ejecución. Los flujos de trabajo solo se deben hospedar en IIS 7.0 si hay problemas de infraestructura al cambiar a AppFabric.

Advertencia

IIS 7.0 recicla grupos de aplicaciones periódicamente por varios motivos. Cuando se recicla un grupo de aplicaciones, IIS deja de aceptar mensajes en el grupo anterior y crea instancias en un grupo de aplicaciones nuevo para aceptar las nuevas solicitudes. Si un flujo de trabajo sigue funcionando después de enviar una respuesta, IIS 7.0 no tendrá constancia del trabajo que se está haciendo y puede que recicle los grupos de aplicaciones de hospedaje. Si esto sucede, el flujo de trabajo se anulará y los servicios de seguimiento registrarán un mensaje de 1004: WorkflowInstanceAborted con un campo Motivo vacío.

Si se usa la persistencia, el host debe reiniciar explícitamente las instancias anuladas desde el último punto de persistencia.

Si se usa AppFabric, el servicio de administración de flujo de trabajo reanudará finalmente el flujo de trabajo desde el último punto de persistencia correcto si se usa la persistencia. Si no se usa ninguna persistencia, y el flujo de trabajo realiza operaciones fuera de un patrón de solicitud y respuesta, los datos se perderán cuando se anule el flujo de trabajo.

Hospedar un flujo de trabajo en un servicio de Windows personalizado

Crear un servicio de flujo de trabajo personalizado para hospedar el flujo de trabajo requerirá que el desarrollador duplique muchas de las funcionalidades que AppFabric ha proporcionado de serie, pero permitirá más flexibilidad con las funcionalidades personalizadas. Esta opción solo debe tenerse en cuenta si no es posible AppFabric.