2

J'essaye de faire un flux de travail d'instance unique avec WF4 et AppFabric. Je veux juste une instance d'un workflow s'exécutant dans le cluster.Instance unique dans le cluster avec WF 4 et AppFabric

J'ai essayé un style biztalk: une méthode (CallService()) qui crée l'instance et la même méthode dans une autre activité de réception (CallService()) dont l'instance cancreateinstance n'est pas vérifiée. (Je pense que je pourrais le corréler à travers le xpath à l'action dans le message de savon, mais laisse oublier la corrélation à cette étape).

Mon problème est que WF crée toujours l'instance et ne corrèle pas dans le second appel.

Savez-vous comment le résoudre? Je voudrais hiérarchiser la corrélation avec la création des instances. Un autre moyen de le faire?

Merci d'avance.

Répondre

1

J'ai trouvé la solution. Voici ce que j'ai écrit à propos de: http://pablocastilla.wordpress.com/2010/10/09/single-instance-of-a-workflow-in-the-cluster-with-wf-4-0-and-appfabric/

Comment pouvons-nous recevoir les messages avec la même instance? Est facile de faire un petit tour dans la forme de réception:

  1. Nous créons un gestionnaire de corrélation. Appelons-le singleIntanceHandler
  2. Dans la forme de réception, définissez la propriété CorrelatesWith avec singleInstanceHandler.
  3. Dans la définition CorrelatesOn, vous devez insérer une chaîne, pas une expression xpath. Par exemple: "asdf".
  4. Laissez l'initialiseur de corrélation juste avec le handle pour la réponse.

Si je comprends bien la première fois qu'il crée l'instance initializating la corrélation avec « asdf », la prochaine fois qu'il reçoit un message, AppFabric s'annonce s'il y a une instance qu'il pourrait en corrélation avec la chaîne « asdf », et il trouve celui qui s'initialise dans le premier appel.

+0

merci d'avoir sauvé ma journée! – ieaglle

Questions connexes