2010-05-03 6 views
0

Comment interrompre brusquement un flux de travail au milieu d'une activité interrompant la séquence d'écoulement?Comment forcer un workflow à se terminer?

+0

Qu'est-ce que cela a à voir avec C#? Le workflow fait partie de .NET et ne fait pas partie de C#. –

+0

.NET inclut C#, VB ou même C++/CLI. –

Répondre

0

Ne pouvez-vous pas utiliser l'activité Terminer? Si vous voulez être moins ... gentil ... vous pouvez toujours juste passer une exception (et peut-être l'attraper en la transmettant à une activité Terminer/Consigner). Gardez juste les interactions exposées et documentées.

Malheureusement, je trouve que la «jolie image» est juste la plus courante: -/Parfois, l'utilisation d'un flux de travail State vs. Sequential peut être utile.

+0

Je sais n'est pas un scénario commun, mais dans mon cas, ne convient pas d'utiliser l'activité Terminate. Le lancement d'une exception est également difficile car nous ne devrions utiliser des exceptions que lorsque le code atteint un état inattendu (ce qui n'est pas le cas). Je préférerais une solution comme obtenir le WorkflowInstance à l'exécution et appeler la méthode Terminate. Si c'est possible .. –

+0

@ Zé Carlos Je ne peux pas trouver une meilleure 'solution' que de lancer une exception dans ce cas. Vous pouvez lancer une exception personnalisée - cela rendra l'intention plus claire - et (* gasp *) et [ab] utiliser un gestionnaire Exception. Ce n'est pas joli, non, mais il fournit l'activité de terminaison correcte de la sémantique maintenant et permet d'effectuer une action (comme un workflow Terminate). –

Questions connexes