2009-09-30 7 views
1

Est-il possible de contrôler ce comportement désagréable? J'essaye d'exécuter() une activité avec état que j'ai écrite (activité qui incrémente un index à chaque exécution) dans une activité de boucle (While). Le moteur WF clone mon activité à chaque itération. Étant donné que le clone est créé à partir d'une activité de modèle et non de la dernière clonée, la propriété d'index est en cours de réinitialisation. Mon but est d'exécuter l'activité while, et ensuite d'appeler PrintActivty qui imprime l'index de ma propre activité. J'ai essayé d'aller avec la manière sale et mettre à jour le modèle, cela fonctionne pour l'imbrication de premier niveau, mais quand j'essaie de courir à l'intérieur pendant que ça ne fonctionne pas.Comment désactiver le clonage d'activité dans WF?

p.s. - Je reçois le modèle de mon activité Execute():

var template = this.WFActivity.GetActivityByName(this.QualifiedName); 

WFActivity est une propriété définie au point sur l'activité de la racine WF.

Répondre

1

Vous ne pouvez pas désactiver le clonage d'activité car il fait partie intégrante de la manière dont les activités sont exécutées.

La façon de contourner ce problème consiste à utiliser une propriété de dépendance dans votre activité pour stocker la valeur d'index. Maintenant, dans le flux de travail, vous pouvez lier la propriété index à une propriété ou un champ à un niveau supérieur, comme le flux de travail lui-même, et la valeur y sera stockée plutôt que dans la copie clonée de votre activité.

Questions connexes