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é.
![]() |
---|
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 |
---|---|
Indique quelle classe dérivée de ActivityCodeGenerator sera utilisée pour générer le code de compilation de votre activité personnalisée. |
|
Indique quelle classe dérivée de ActivityValidator sera utilisée pour valider votre activité personnalisée. |
|
Indique que l'activité prend en charge un flux alternatif. |
|
Indique que le nom d'une propriété particulière de votre activité personnalisée ne sera pas sérialisé. |
|
Indique l'événement par défaut de votre activité personnalisée. |
|
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. |
|
Indique que le concepteur de votre activité personnalisée appartient à une certaine catégorie. |
|
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. |
|
Indique que l'instance du workflow en cours d'exécution doit être rendue persistante lorsque l'activité ornementée est terminée. |
|
Indique le nom de runtime de votre activité personnalisée. |
|
Indique l'icône à utiliser pour représenter votre activité personnalisée dans un conteneur, tel qu'un concepteur de workflow personnalisé. |
|
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é. |
|
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é. |
![]() |
---|
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. |
Appelle des méthodes sur un hôte pendant la communication locale. |
|
Toutes les activités composites dérivent de ce type. |
|
Gère des événements entrants déclenchés par un hôte pendant la communication locale. |
|
Utilisé pour créer des activités composites personnalisées ayant des activités enfants qui s'exécutent dans l'ordre. |
|
Utilisé pour créer des workflows séquentiels. |
|
Utilisé dans les workflows d'ordinateur d'état pour gérer des événements ou l'initialisation d'un état donné. |
|
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)
Copyright ©2007 par Microsoft Corporation. Tous droits réservés.