Partager via


Utilisation d'activités WF de .NET Framework 3.0 dans .NET Framework 4 avec l'activité d'interopérabilité

Cette rubrique s'applique à Windows Workflow Foundation 4.

L'activité Interop est une activité .NET Framework 4 (WF 4) qui encapsule une activité .NET Framework 3.5 (WF 3.5) dans un workflow .NET Framework 4. L'activité WF 3 peut être une activité de feuille unique ou une arborescence entière d'activités. L'exécution (notamment l'annulation et gestion des exceptions) et la persistance de l'activité .NET Framework 3.5 se produisent dans le contexte de l'instance du workflow .NET Framework 4 qui s'exécute.

Ee264173.note(fr-fr,VS.100).gif Visual Basic Remarque :
L'activité Interop ne s'affiche pas dans la boîte à outils du Workflow Designer, sauf si le paramètre Framework cible du projet du flux de travail est défini sur .NET Framework 4.

Critères pour l'Utilisation d'une Activité WF 3 avec une Activité d'interopérabilité

Pour qu'une activité WF 3 s'exécute avec succès dans une activité Interop, les critères suivants doivent être remplis :

Configuration d'une Activité WF 3 Dans une Activité d'interopérabilité

Pour configurer et passer des données dans et hors d'une activité WF 3, sur les limites d'interopérabilité, les propriétés de l'activité WF 3 et les propriétés de métadonnées sont exposées par l'activité Interop. Les propriétés de métadonnées de l'activité WF 3 (tel que Name) sont exposées via la collection ActivityMetaProperties. C'est une collection de paires nom-valeur utilisée pour définir les valeurs pour les propriétés de métadonnées de l'activité WF 3. Une propriété de métadonnées est une propriété secondée par une propriété de dépendance pour laquelle l'indicateur Metadata est défini.

Les propriétés de l'activité WF 3 sont exposées via la collection ActivityProperties. C'est un jeu de paires nom-valeur, où chaque valeur est un objet Argument, utilisé pour définir les arguments pour les propriétés de l'activité WF 3. Étant donné que la direction d'une propriété d'activité WF 3 ne peut pas être inférée, chaque propriété est exposée en surface sous la forme d'une paire InArgument/OutArgument. Selon l'utilisation de l'activité de la propriété, vous pouvez fournir une entrée InArgument, une entrée OutArgument, ou les deux à la fois. Le nom attendu de l'entrée InArgument de la collection correspond au nom de la propriété comme défini dans l'activité WF 3. Le nom attendu de l'entrée OutArgument de la collection correspond à une concaténation du nom de la propriété et de la chaîne "Out".

Limitations de l'utilisation d'une activité WF 3 dans une activité d'interopérabilité

Les activités fournies par le système WF 3 ne peuvent pas être directement encapsulées dans une activité Interop. Pour certaines activités WF 3, telles que DelayActivity, cela s'explique par la présence d'une activité WF 4 analogue. Pour d'autres, les fonctionnalités de cette activité ne sont pas prises en charge. De nombreuses activités fournies par le système WF 3 peuvent être utilisées dans les flux de travail encapsulés par l'activité Interop, soumise aux restrictions suivantes :

  1. Send et Receive ne peuvent pas être utilisés dans une activité Interop.

  2. WebServiceInputActivity, WebServiceOutputActivity et WebServiceFaultActivity ne peuvent pas être utilisés dans une activité Interop.

  3. InvokeWorkflowActivity ne peut pas être utilisé dans une activité Interop.

  4. SuspendActivity ne peut pas être utilisé dans une activité Interop.

  5. Les activités liées à la compensation ne peuvent pas être utilisées dans une activité Interop.

Il y a également des caractéristiques comportementales à comprendre concernant l'utilisation d'activités WF 3 dans l'activité Interop :

  1. Les activités WF 3 contenues dans une activité Interop sont initialisées lorsque l'activité Interop est exécutée. Dans WF 4 il n'y a pas de phase d'initialisation pour une instance de workflow avant son exécution.

  2. L'exécution du WF 4 ne contrôle pas l'état de l'instance de workflow lorsqu'une transaction commence, quel que soit le point de contrôle à partir duquel la transaction commence (dans ou en dehors d'une activité Interop ).

  3. Les enregistrements de suivi WF 3 pour les activités au sein d'une activité Interop sont fournis aux participants de suivi WF 4 comme objets InteropTrackingRecord. InteropTrackingRecord provient de CustomTrackingRecord.

  4. Una activité personnalisée WF 3 peut accéder aux données à l'aide de files d'attente de workflow dans l'environnement d'interopération de la même façon qu'au sein de l'exécution du workflow WF 3. Aucune modification du code d'activité personnalisé n'est obligatoire. Sur l'hôte, les données sont mises en file d'attente dans un workflow WF 3 en reprenant un Bookmark. Le nom du signet correspond à la chaîne du nom de la file d'attente du flux de travail IComparable.

Voir aussi

Tâches

Utilisation d'une activité .NET Framework 3.0 ou .NET Framework 3.5 dans un Workflow .NET Framework 4