2009-09-06 10 views

Respuesta

6

de flujo de trabajo 4.0

Usted puede obtener los marcadores en el WorkflowInstance

IEnumerable<BookmarkInfo> bookMarks = workflowInstance.GetAllBookmarks(); 

marcadores Sólo activos, es decir marcadores que realmente están esperando a que algo se enumeran a continuación. En un flujo de trabajo secuencial sin actividades paralelas que le indicará el que está esperando. Pero en muchas situaciones habrá más de un marcador esperando la entrada. No se puede decir cuál causó un estado idol.

Usted puede ser capaz de obtener más información enganchando algo al evento WorkflowInstance.OnIdle. No es un verdadero evento .NET, pero logra lo mismo. Eso no te dirá exactamente por qué llegas al estado Inactivo, pero con suerte saber el momento te dirá más.

de flujo de trabajo 3.0

No estoy seguro de que esto ayudará, pero ya que tiene un WorkflowInstance se le puede pedir para una colección de objetos WorkflowQueueInfo llamando GetWorkflowQueueData(). La clase WorkflowQueueInfo le dirá qué actividades están suscritas a la cola y si la cola tiene elementos en ella. Una cola vacía con actividades suscritas podría mostrarle lo que necesita. Esas actividades están esperando algo, pero no hay nada que hacer. Ese debe ser el marcador que está buscando.

+0

Lo siento, olvidé aclarar, este es WF 4.0 que estoy hablando ... WorkflowInstance.GetWorkflowQueueData no existe en 4.0 – Adam

+0

Oh, lo siento. Debería haber entendido que querías decir 4.0 cuando dijiste Marcador. Editaré la respuesta. –

+0

En 4.0, ¿dónde se define GetAllBookmarks()? No lo veo en System.Workflow.Runtime.WorkflowInstance. – lesscode

Cuestiones relacionadas