Ejemplo de evento provocado para cargar el flujo de trabajo
Para enviar un documento para su aprobación, el flujo de trabajo de este ejemplo utiliza la actividad CallExternalMethodActivity enlazada al método RequestDocumentApproval de la DocumentApprovalInterface. La actividad siguiente del flujo de trabajo es una actividad HandleExternalEventActivity que controla un evento DocumentApproved.
El tiempo de ejecución está configurado para descargar instancias del flujo de trabajo cada vez que éste se encuentre en el estado inactivo, es decir, cuando no haya ningún trabajo que realizar para la instancia. Ésta es una característica importante porque la actividad HandleExternalEventActivity podría esperar durante mucho tiempo (quizá días o semanas) a la aprobación del documento.
DocumentApprovalInterface define los métodos y eventos para enviar y recibir la aprobación de documentos. La clase DocumentApprovalService implementa DocumentApprovalInterface en llamadas al método de proxy y en el control de eventos que transmiten datos a y desde el flujo de trabajo y la aplicación host.
El flujo de trabajo inicia el proceso de aprobación del documento enviando un documento para su aprobación a través del método RequestDocumentApproval que, a continuación, entrega el documento en su destino (no implementado). Se llama al controlador de eventos OnWorkflowIdled del host cuando el flujo de trabajo queda inactivo. Al mismo tiempo, el tiempo de ejecución descarga la instancia de flujo de trabajo a través del servicio FilePersistenceService. En el controlador WorkflowIdled, se provoca el evento DocumentApproved en el flujo de trabajo. El evento DocumentApproved se entrega al controlador HandleExternalEventActivitydocumentApprovedInvoked.
En el ejemplo también se utiliza un servicio de persistencia personalizado (FilePersistenceService) que serializa el estado del flujo de trabajo en un archivo.
Al generar y ejecutar la aplicación, el resultado tendrá un aspecto similar al siguiente:
Para generar el ejemplo
Para descargar el ejemplo, haga clic en Descargar ejemplo.
Así se extrae el proyecto de ejemplo en su disco duro local.
Haga clic en Inicio, señale Programas, señale Microsoft Windows SDK y, a continuación, haga clic en CMD Shell.
Vaya al directorio de origen del ejemplo.
En el símbolo del sistema, escriba MSBUILD RaiseEventToLoadWorkflow.sln.
Para ejecutar el ejemplo
- En la ventana del símbolo del sistema del SDK, ejecute el archivo .exe de la carpeta DocumentApprovalWorkflow\bin\debug (o la carpeta DocumentApprovalWorkflow\bin para la versión de VB del ejemplo), que se encuentra bajo la carpeta principal del ejemplo.
Consulte también
Otros recursos
Copyright © 2007 Microsoft Corporation. Reservados todos los derechos.