Partager via


Activité de stratégie dans .NET Framework 4

Cette rubrique s'applique à Windows Workflow Foundation 4.

L'activité Policy4 permet que des objets RuleSet de Windows Workflow Foundation dans .NET Framework version 3.5 (WF 3.5) soient utilisés dans Windows Workflow Foundation dans .NET Framework version 4 (WF 4) directement à l'aide du moteur de règles fourni dans WF 3.5. À l'aide de cette activité, vous pouvez créer et exécuter un RuleSet WF 3.5. Pour plus d'informations sur le sujet suivant le moteur de règles WF 3.5 inclus dans Windows Workflow Foundation, consultez la Présentation du moteur de règles Windows Workflow Foundation. Pour plus d'informations sur la migration de règles vers WF dans .NET Framework 4, consultez Conseils de migration.

Dd797584.Important(fr-fr,VS.100).gif Remarque :
Les exemples peuvent déjà être installés sur votre ordinateur. Recherchez le répertoire (par défaut) suivant avant de continuer.

<LecteurInstall>:\WF_WCF_Samples

Si ce répertoire n'existe pas, rendez-vous sur la page (éventuellement en anglais) des exemples Windows Communication Foundation (WCF) et Windows Workflow Foundation (WF) pour .NET Framework 4 pour télécharger tous les exemples Windows Communication Foundation (WCF) et WF. Cet exemple se trouve dans le répertoire suivant.

<LecteurInstall>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\Policy4

Projets dans cet exemple

Nom du projet Description Fichiers principaux

Policy4

Contient l'activité Policy4 et son concepteur WF.

Policy4.cs : définition de l'activité Policy4.

PolicyDesigner.xaml : concepteur personnalisé pour l'activité Policy4. Il utilise l'éditeur de règles (classe RuleSetDialog) du moteur de règles WF.

ImperativeCodeClientSample

Exemple d'application cliente qui configure et exécute un workflow à l'aide d'une application Policy4 utilisant du code C# impératif (aucun concepteur WF utilisé).

ApplyDiscount.rules : fichier avec les définitions de règles WF.

Order.cs : type qui représente une commande client. Les règles sont appliquées aux objets de ce type.

Program.cs : configure et exécute un workflow qui a une activité Policy4 pour appliquer les règles définies dans ApplyDiscount.rules aux instances d'objets Order.

App.config : fichier de configuration avec le chemin d'accès du fichier de règles.

DesignerClientSample

Exemple d'application cliente qui configure et exécute un workflow à l'aide d'une application Policy4 dans le concepteur WF.

Sequence1.xaml : workflow séquentiel qui utilise une activité Policy4 pour effectuer des évaluations de règle.

Program.cs : exécute une instance du workflow définie dans Sequence1.xaml.

Activité Policy4

L'activité Policy4 est une classe qui dérive de NativeActivity et qui permet aux workflows d'exécuter des ensembles de règles (RuleSets) WF. L'exemple de code suivant est une définition simplifiée du modèle d'objet public de l'activité.

public class Policy4Activity<TResult>: NativeActivity<TResult>
{
    public RuleSet RuleSet

    [IsRequired]
    public InArgument Input

    public OutArgument<ValidationErrorCollection> ValidationErrors
}

Propriété Description

RuleSet

Classe RuleSet WF pour .NET Framework 3.5 à évaluer lorsque l'activité est exécutée.

TargetObject

Objet sur lequel les règles de la classe RuleSet sont évaluées.

ValidationError

Liste des erreurs de validation retournées par le moteur de règles WF pour .NET Framework 3.5 lors de la validation de la classe RuleSet sur l'objet cible avant l'exécution.

Concepteur de l'activité Policy4

Le concepteur de Policy4 ajoute la fonctionnalité permettant de configurer une activité Policy4 sans qu'il soit nécessaire d'écrire du code. Après avoir généré la solution, il se trouve dans la boîte à outils, dans la section Microsoft.Samples.Activities.Rules.

Le concepteur WF vous permet de configurer un objet cible et un ensemble de règles (RuleSet). Lorsque l'utilisateur clique sur le bouton Modifier le RuleSet, la classe RuleSetDialog WF pour .NET Framework 3.5 s'affiche. Cette boîte de dialogue est l'éditeur de règles de .NET Framework 3.5 réhébergé. Utilisez l'éditeur pour créer et modifier les règles que l'activité Policy4 exécute.

Utilisation de cet exemple

Aucune configuration particulière n'est requise pour exécuter cet exemple. Ouvrez simplement la solution dans Visual Studio, puis appuyez sur F5 pour exécuter l'application.

Cet exemple contient deux applications clientes : ImperativeCodeClientSample et DesignerClientSample. Le client ImperativeCodeClientSample montre comment configurer et exécuter l'activité Policy40 à l'aide de code C# impératif. DesignerClientSample montre comment configurer et exécuter l'activité Policy4 à l'aide du concepteur.

Pour exécuter l'application cliente ImperativeCodeClientSample

  1. À l'aide de Visual Studio 2010, ouvrez le fichier solution Policy4Sample.sln.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet ImperativeCodeClientSample, puis sélectionnez Définir comme projet de démarrage.

  3. Pour exécuter le projet, appuyez sur CTRL+F5.

Pour exécuter l'application cliente ImperativeCodeClientSample

  1. À l'aide de Visual Studio 2010, ouvrez le fichier solution Policy4Sample.sln.

  2. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le projet DesignerClientSample.

    • Sélectionnez Définir comme projet de démarrage.
  3. Pour compiler le projet, appuyez sur F6.

  4. Pour exécuter le projet, appuyez sur CTRL+F5.