2010-02-17 6 views
0

Je suis suivi pour les deuxévénement OnTaskChanged étant tiré à l'intérieur ListenActivity, mais pas OnWorkflowItemChanged

  • changement de workflow Tâche
  • Flux de travail Article changement

OnApprovalTaskChanged est tiré, mais pas onWorkflowItemChanged. Est-ce un problème connu et ce qui pourrait être une solution de contournement?

Si je supprime ListenActivity, onWorkflowItemChanged est déclenché!

Voici une partie de mon flux de travail: Workflow diagram http://img28.imageshack.us/img28/8397/ss20100217113727.png

Répondre

1

résolu ce problème. This article helped me.

Ce que vous devez faire est de définir l'activité InitializeWorkflow et créer un nouveau jeton de corrélation pour cette activité. Le parent de ce jeton de corrélation doit définir l'activité de la séquence parent. Utilisez ensuite ce nouveau jeton sur l'événement OnWorkflowItemChanged.

Tout pour moi fonctionne comme prévu si les activités mises en ordre suivant:

-Replicator (i have to create multiple tasks) 
--Sequence 
--some stuff 
---InitializeWorkflow (this activity is for bugfix, create new token, parent=Sequence) 
---While (in my case: while task changed or wf item changed) 
----ListenActivity 
-----EventDriven (OnTaskChanged) 
-----EventDriven (OnWorkflowItemChanged, use newly created token) 

Mettre une autre séquence et initializeworkflow dans la boucle while conduit à OnWorkflowItemChanged appelé seulement des changements de premier point de temps.

+0

semble prometteur, laissez-moi essayer ceci – Wint

+0

Inattendue \t System.InvalidOperationException: Cette opération ne peut pas être effectuée au moment de l'exécution. à System.Workflow.ComponentModel.DependencyObject.SetValueCommon (DependencyProperty dependencyProperty, Object valeur, PropertyMetadata metadata, Boolean shouldCallSetValueOverrideIfExists) à System.Workflow.ComponentModel.DependencyObject.SetValue (DependencyProperty dependencyProperty, Object valeur) à System.Workflow.Activities.CallExternalMethodActivity.set_CorrelationToken (Valeur CorrelationToken), j'ai eu cette erreur lors de la configuration manuelle du jeton, comment avez-vous fait? – Wint

+0

@Wint Je ne trouve pas de code particulier J'ai utilisé cette chose ou peut-être que je l'ai fait d'une manière différente ... Etes-vous sûr que vous l'avez fait comme indiqué par le lien [article] (http: //blogs.msdn. com/yvan_duhamel/archive/2009/11/25/workflow-verrouille-car-de-on-workworkitemchanged-event-handler.aspx)? On dirait que vous attribuez un jeton de corrélation à l'exécution, essayez de le créer avec le concepteur et de lier à la propriété CorrelationToken pour l'action InitializeWorkflow. (N'oubliez pas de pointer OwnerActivityName vers l'activité de la séquence parente). Puis liez ce CorrelationToken avec le concepteur pour l'événement onWorkflowItemChanged. –

Questions connexes