2009-01-23 14 views
1

Je dispose d'un workflow SharePoint (WSS 3.0, VS 2005) auquel est associé un formulaire de modification de workflow, que je souhaite désactiver après un certain temps et poursuivre avec les paramètres du forme d'association.Contournement conditionnel d'une activité Sharepoint 'onWorkflowModified'

Quelle est la meilleure façon de passer l'activité 'onWorkflowModified' si la minuterie est active? Il semble que la seule façon d'écouter les données de modification entraîne une attente indéfinie du flux de travail lors de l'activité.

Merci!

EDIT: L'activité 'onWorkflowModified' dans une branche d'une activité parallèle empêche tout ce qui se passe jusqu'à ce qu'il soit traité - c'est ce que j'essaie d'éviter.

Répondre

0

Il se trouve que, comme suspecté, 'onWorkflowModified' hérite de 'HandleExternalEventActivity', qui est une activité de blocage. Par conséquent, l'avoir en tant que branche dans une activité parallèle entraîne l'arrêt du flux de travail jusqu'à ce qu'il soit traité. Le moyen le plus simple de contourner le problème est de déclencher l'événement qu'il attend lorsque la minuterie est activée, et de différencier la réception de l'événement de la minuterie et de l'utilisateur.

J'espère que cela peut aider quelqu'un d'autre!

0

Vous pourriez probablement exécuter des activités parallèles. celui qui écoute et celui qui attend un événement. Si l'un ou l'autre est franchi, vous pouvez annuler l'autre. Vous n'avez rien à faire spécifiquement dans l'étape onWorkflowActivated. SharePoint est uniquement requis pour démarrer un flux de travail et fournir vos données initiales.