Répondre

1

Windows Workflow 4 (WF 4), tout en ne prenant pas officiellement en charge l'activité de la machine d'état, le fait car il n'est plus nécessaire. Vous pouvez toujours implémenter cette même fonctionnalité à l'aide d'un diagramme.

J'ai utilisé 3,5 jusqu'à maintenant, mais WF 4 rendra les choses beaucoup plus simples. Le fait qu'un workflow de machine d'état n'est plus nécessaire dans WF4 n'est pas tout à fait vrai.

+0

Aurais-je raison de supposer qu'une machine d'état 3.5 aurait besoin d'être re-architecturée pour 4.0? En d'autres termes, 4.0 n'est pas automatiquement "thunk" au niveau 3.5? –

+0

@David: Correct, l'exécution de WF4 est assez différente et représente une rupture nette de 3.5. L'avantage est que le runtime, les activités etc. du workflow 3.5 d'origine sont toujours disponibles dans .NET 4, donc il est possible d'exécuter côte à côte des workflows anciens et nouveaux. Cependant, si vous voulez utiliser le moteur WF4, vous devrez réorganiser les flux de travail. – AnthonyWJones

1

Il est correct que Windows Workflow Foundation 4 ne prend pas en charge les machines d'état. Cependant, le moteur 3.5 est disponible afin que vous puissiez exécuter votre code dans .NET 4 mais sans nouvelles fonctionnalités bien sûr.

+0

En d'autres termes, le compilateur 4.0 n'aboie pas à 3,5? –

2

La plupart des scénarios de machine d'état, mais pas tous, sont plus faciles à modéliser dans un diagramme WF4. C'est le cas parce que la plupart des développeurs utilisaient la machine d'état car le séquentiel n'était pas assez flexible. Tous ces cas, et ceux qui sont probablement majoritaires, sont bien couverts par l'organigramme.

Cependant, les exemples de machine d'état pilotés par des événements sont beaucoup plus difficiles dans WF4. Consultez le guide de la machine d'état WF4 here pour plus de détails. Et l'équipe de Microsoft a annoncé qu'elle prévoyait de libérer une machine d'état pour WF4 après que la version initiale soit livrée avec .NET 4.

+0

Merci pour l'info. J'ai récemment mis en œuvre Stateless par Nicholas Blumhardt pour la raison que la version 4.0 approchait et, d'après mes lectures de l'époque, MS ne fournirait pas de machine d'état. Je vous invite à regarder Stateless - il est beaucoup, beaucoup plus simple que WF State Machine. http://code.google.com/p/stateless/ –

1

Étant donné que l'exécution est différente dans WF4, vous devez utiliser l'activité Interop pour une compatibilité ascendante avec Applications de flux de travail 3.5 et 3.0. Et oui, le flux de travail de machine d'état n'est pas encore pris en charge dans WF4.

Questions connexes