Partager via


Création d'activités personnalisées

Pour créer une activité personnalisée de base, vous héritez de la classe Activity ou d'un type dérivé. Pour créer une activité composite personnalisée, vous héritez de la classe CompositeActivity ou d'un type dérivé.

NoteRemarque :

La création d'une activité personnalisée qui hérite d'une activité personnalisée contenant des activités enfants n'est pas prise en charge.

La classe d'activité personnalisée que vous créez définit les propriétés, les événements et la logique d'exécution de l'activité personnalisée.

Propriétés

Vous pouvez utiliser deux types de propriétés d'activité dans votre activité personnalisée : les métapropriétés et les propriétés d'instance. Les métapropriétés sont immuables au moment de l'exécution, de sorte qu'une valeur littérale doit être attribuée à la propriété au moment de la conception. Une propriété d'instance peut être définie à moment de la conception ou elle peut être liée aux données d'instance, auquel cas la valeur réelle n'est pas déterminée jusqu'au moment de l'exécution. Les propriétés d'instance peuvent également être modifiées directement pendant l'exécution du workflow.

Pour plus d'informations sur les propriétés de cette activité, consultez Utilisation des propriétés d'activité.

Logique d'exécution

Lorsque vous créez une activité personnalisée, vous devez gérer explicitement l'exécution logique de votre activité à l'aide de la méthode Execute. Des méthodes Activity supplémentaires peuvent être substituées selon les besoins de votre activité.

Attributs

Votre activité personnalisée peut être décorée avec différents attributs pour indiquer des informations telles que le concepteur d'activités à charger, le validateur à utiliser lors de la validation de votre activité et ainsi de suite. Le tableau suivant répertorie tous les attributs que vous pouvez utiliser pour décorer votre activité personnalisée.

Attribut Description

ActivityCodeGeneratorAttribute

Indique quelle classe dérivée de ActivityCodeGenerator sera utilisée pour générer le code de compilation de votre activité personnalisée.

ActivityValidatorAttribute

Indique quelle classe dérivée de ActivityValidator sera utilisée pour valider votre activité personnalisée.

AlternateFlowActivityAttribute

Indique que l'activité prend en charge un flux alternatif.

ContentPropertyAttribute

Indique que le nom d'une propriété particulière de votre activité personnalisée ne sera pas sérialisé.

DefaultEventAttribute

Indique l'événement par défaut de votre activité personnalisée.

DesignerAttribute

Indique quelle classe dérivée de ActivityDesigner sera utilisée pour implémenter des services au moment de la conception pour votre activité personnalisée.

DesignerCategoryAttribute

Indique que le concepteur de votre activité personnalisée appartient à une certaine catégorie.

DesignerSerializerAttribute

Indique quel sérialiseur (ActivityMarkupSerializer, ActivityCodeDomSerializer, ActivityTypeCodeDomSerializer, CompositeActivityMarkupSerializerou un dérivé de l'un d'entre eux) sera utilisé pour sérialiser votre activité personnalisée.

PersistOnCloseAttribute

Indique que l'instance du workflow en cours d'exécution doit être rendue persistante lorsque l'activité ornementée est terminée.

RuntimeNamePropertyAttribute

Indique le nom de runtime de votre activité personnalisée.

ToolboxBitmapAttribute

Indique l'icône à utiliser pour représenter votre activité personnalisée dans un conteneur, tel qu'un concepteur de workflow personnalisé.

ToolboxItemAttribute

Indique quelle classe dérivée de ActivityToolboxItem sera utilisée avec votre activité personnalisée dans un conteneur, tel qu'un concepteur de workflow personnalisé.

ToolboxItemFilterAttribute

Indique la chaîne de filtrage et le type de filtre à utiliser pour votre activité personnalisée lorsqu'elle est utilisée dans un conteneur, tel qu'un concepteur de workflow personnalisé.

Caution noteAttention :

Si votre activité personnalisée utilise le PersistOnCloseAttribute, le workflow qui utilise votre activité personnalisée doit spécifier un service de persistance à utiliser ou une exception sera levée au démarrage du workflow.

Les attributs peuvent être « substitués » en ce sens que si vous décorez votre activité personnalisée avec les attributs utilisés par votre activité de base, vos valeurs substituées sont utilisées contre votre activité personnalisée. Par exemple, vous pouvez créer votre propre bitmap pour le contrôle de votre activité personnalisée, tout en continuant d'utiliser le sérialiseur par défaut et le validateur d'activité de votre activité de base. Pour ce faire, vous devriez uniquement décorer votre activité personnalisée avec le ToolboxItemAttribute et définir la valeur en conséquence.

Création d'activités personnalisées à partir des activités Windows Workflow Foundation par défaut

Vous pouvez dériver votre activité personnalisée des types d'activité suivants :

Type d'activité Description

Activity

Type de base dont toutes les activités dérivent.

CallExternalMethodActivity

Appelle des méthodes sur un hôte pendant la communication locale.

CompositeActivity

Toutes les activités composites dérivent de ce type.

HandleExternalEventActivity

Gère des événements entrants déclenchés par un hôte pendant la communication locale.

SequenceActivity

Utilisé pour créer des activités composites personnalisées ayant des activités enfants qui s'exécutent dans l'ordre.

SequentialWorkflowActivity

Utilisé pour créer des workflows séquentiels.

StateActivity

Utilisé dans les workflows d'ordinateur d'état pour gérer des événements ou l'initialisation d'un état donné.

StateMachineWorkflowActivity

Utilisé pour créer des workflows d'ordinateur d'état.

Personnalisation d'activités

Vous avez l'option de personnaliser la logique par défaut d'une activité personnalisée en utilisant un jeu de classes connexes qui encapsulent des éléments spécifiques d'une fonctionnalité.

Les sections suivantes fournissent plus de détail sur ces zones :

Création d'activités composites personnalisées

Sérialisation d'activités personnalisées

Comment générer le code à l'aide d'activités personnalisées

Voir aussi

Référence

Activity
CompositeActivity
ActivityBind

Concepts

Utilisation des propriétés d'activité
Vue d'ensemble de la logique de validation des activités
Création d'un concepteur d'activités personnalisées

Autres ressources

Développement d'activités Workflow (WF)

Footer image

Copyright ©2007 par Microsoft Corporation. Tous droits réservés.