Erstellen von benutzerdefinierten Aktivitäten

Sie erben von der Activity-Klasse oder von einem abgeleiteten Typ, um eine grundlegende benutzerdefinierte Aktivität zu erstellen. Sie erben von der CompositeActivity-Klasse oder von einem abgeleiteten Typ, um eine benutzerdefinierte zusammengesetzte Aktivität zu erstellen.

Hinweis

Das Erstellen einer benutzerdefinierten Aktivität, die von einer benutzerdefinierten Aktivität mit untergeordneten Aktivitäten erbt, wird nicht unterstützt.

In der von Ihnen erstellten benutzerdefinierten Aktivitätsklasse sind die Eigenschaften, Ereignisse und die Ausführungslogik für die benutzerdefinierte Aktivität definiert.

Eigenschaften

Sie verwenden möglicherweise zwei Typen von Aktivitätseigenschaften in der benutzerdefinierten Aktivität: Metaeigenschaften und Instanzeigenschaften. Eine Metaeigenschaft ist während der Laufzeit unveränderlich, sodass die Eigenschaft während der Entwurfszeit auf einen Literalwert festgelegt werden muss. Ein Instanztyp kann während der Entwurfszeit festgelegt werden, oder die Eigenschaft kann an Instanzdaten gebunden werden, deren tatsächlicher Wert bis zur Laufzeit nicht bestimmt wird. Instanzeigenschaften können auch direkt während der Workflowausführung geändert werden.

Weitere Informationen über Aktivitätseigenschaften finden Sie unter Verwenden von Aktivitätseigenschaften.

Ausführungslogik

Beim Erstellen einer benutzerdefinierten Aktivität muss die Ausführungslogik explizit über die Execute-Methode behandelt werden. Zusätzliche Activity-Methoden werden möglicherweise – wie von der Aktivität gefordert – überschrieben.

Attribute

Die benutzerdefinierte Aktivität kann mit verschiedenen Attributen ergänzt werden, um z. B. anzugeben, welcher Aktivitätsdesigner geladen werden soll, welches Validierungssteuerelement beim Überprüfen der Aktivität verwendet werden soll usw. In der folgenden Tabelle werden alle Attribute aufgelistet, die Sie zum Ergänzen der benutzerdefinierten Aktivität verwenden können.

Attribut Beschreibung

ActivityCodeGeneratorAttribute

Gibt an, welche von ActivityCodeGenerator abgeleitete Klasse zum Generieren des Codes für Ihre benutzerdefinierte Aktivität zur Kompilierungszeit verwendet wird.

ActivityValidatorAttribute

Gibt an, welche von ActivityValidator abgeleitete Klasse zum Überprüfen des Codes für Ihre benutzerdefinierte Aktivität verwendet wird.

AlternateFlowActivityAttribute

Gibt an, dass von der Aktivität ein alternativer Fluss unterstützt wird.

ContentPropertyAttribute

Gibt an, dass der Eigenschaftenname einer besonderen Eigenschaft in der benutzerdefinierten Aktivität nicht serialisiert wird.

DefaultEventAttribute

Gibt das Standardereignis der benutzerdefinierten Aktivität an.

DesignerAttribute

Gibt an, welche von ActivityDesigner abgeleitete Klasse zum Implementieren der Dienste für Ihre benutzerdefinierte Aktivität zur Entwurfszeit verwendet wird.

DesignerCategoryAttribute

Gibt an, dass der Designer für die benutzerdefinierte Aktivität zu einer bestimmten Kategorie gehört.

DesignerSerializerAttribute

Gibt an, welcher Serialisierer (ActivityMarkupSerializer, ActivityCodeDomSerializer, ActivityTypeCodeDomSerializer, CompositeActivityMarkupSerializer oder eine Ableitung eines dieser Serialisierer) zur Serialisierung der benutzerdefinierten Aktivität verwendet wird.

PersistOnCloseAttribute

Gibt an, dass die aktuelle Workflowinstanz beibehalten werden muss, wenn die Ausführung der dargestellten Aktivität abgeschlossen wird.

RuntimeNamePropertyAttribute

Gibt den Laufzeitnamen für die benutzerdefinierte Aktivität an.

ToolboxBitmapAttribute

Gibt das zu verwendende Symbol an, um die benutzerdefinierte Aktivität in einem Container darzustellen, z. B. in einem benutzerdefinierten Workflow-Designer.

ToolboxItemAttribute

Gibt an, welche von ActivityToolboxItem abgeleitete Klasse mit der benutzerdefinierten Aktivität in einem Container verwendet wird, z. B. in einem benutzerdefinierten Workflow-Designer.

ToolboxItemFilterAttribute

Gibt die Filterzeichenfolge und den Filtertyp an, die für die benutzerdefinierte Aktivität bei Verwendung in einem Container verwendet werden sollen, z. B. in einem benutzerdefinierten Workflow-Designer.

Warnung

Wird PersistOnCloseAttribute von der benutzerdefinierten Aktivität verwendet, muss vom Workflow, der von der benutzerdefinierten Aktivität verwendet wird, ein zu verwendender Persistenzdienst angegeben werden. Andernfalls wird beim Starten des Workflows eine Ausnahme ausgelöst.

Attribute können in dem Sinn "überschrieben" werden, dass die überschriebenen Werte auf die benutzerdefinierte Aktivität angewendet werden, wenn Sie die benutzerdefinierte Aktivität durch von Ihrer Basisaktivität verwendete Attribute ergänzen. Sie möchten z. B. eine eigene Toolboxbitmap für die benutzerdefinierte Aktivität erstellen, verwenden jedoch immer noch den Standardserialisierer und das Validierungssteuerelement der Basisaktivität. Dazu müssen Sie lediglich die benutzerdefinierte Aktivität durch ToolboxItemAttribute ergänzen, und den Wert entsprechend festlegen.

Erstellen von benutzerdefinierten Aktivitäten aus standardmäßigen Windows Workflow Foundation-Aktivitäten

Sie können die benutzerdefinierte Aktivität von den folgenden Aktivitätstypen ableiten:

Aktivitätstyp Beschreibung

Activity

Basistyp, von dem alle Aktivitäten abgeleitet werden.

CallExternalMethodActivity

Ruft Methoden bei lokaler Kommunikation auf einem Host auf.

CompositeActivity

Alle zusammengesetzten Aktivitäten werden von diesem Typ abgeleitet.

HandleExternalEventActivity

Behandelt eingehende Ereignisse, die bei lokaler Kommunikation von einem Host ausgelöst wurden.

SequenceActivity

Wird verwendet, um benutzerdefinierte zusammengesetzte Aktivitäten zu erstellen, die über nacheinander ausgeführte untergeordnete Aktivitäten verfügen.

SequentialWorkflowActivity

Wird verwendet, um sequenzielle Workflows zu erstellen.

StateActivity

Wird in Statuscomputerworkflows verwendet, um Ereignisse oder die Initialisierung für einen gegebenen Zustand zu behandeln.

StateMachineWorkflowActivity

Wird verwendet, um Statuscomputerworkflows zu erstellen.

Anpassen von Aktivitäten

Sie können die Standardlogik einer benutzerdefinierten Aktivität anpassen, indem Sie einen Satz verwandter Klassen verwenden, die bestimmte Funktionen kapseln.

Die folgenden Abschnitte enthalten ausführlichere Informationen zu diesen Bereichen.

Erstellen von benutzerdefinierten zusammengesetzten Aktivitäten

Serialisieren von benutzerdefinierten Aktivitäten

Generieren von Code mithilfe von benutzerdefinierten Aktivitäten

Siehe auch

Referenz

Activity
CompositeActivity
ActivityBind

Konzepte

Verwenden von Aktivitätseigenschaften
Übersicht über Aktivitätsvalidierungslogik
Erstellen eines benutzerdefinierten Aktivitätsdesigners

Weitere Ressourcen

Entwickeln von Workflowaktivitäten

Footer image

Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.