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 |
---|---|
Gibt an, welche von ActivityCodeGenerator abgeleitete Klasse zum Generieren des Codes für Ihre benutzerdefinierte Aktivität zur Kompilierungszeit verwendet wird. |
|
Gibt an, welche von ActivityValidator abgeleitete Klasse zum Überprüfen des Codes für Ihre benutzerdefinierte Aktivität verwendet wird. |
|
Gibt an, dass von der Aktivität ein alternativer Fluss unterstützt wird. |
|
Gibt an, dass der Eigenschaftenname einer besonderen Eigenschaft in der benutzerdefinierten Aktivität nicht serialisiert wird. |
|
Gibt das Standardereignis der benutzerdefinierten Aktivität an. |
|
Gibt an, welche von ActivityDesigner abgeleitete Klasse zum Implementieren der Dienste für Ihre benutzerdefinierte Aktivität zur Entwurfszeit verwendet wird. |
|
Gibt an, dass der Designer für die benutzerdefinierte Aktivität zu einer bestimmten Kategorie gehört. |
|
Gibt an, welcher Serialisierer (ActivityMarkupSerializer, ActivityCodeDomSerializer, ActivityTypeCodeDomSerializer, CompositeActivityMarkupSerializer oder eine Ableitung eines dieser Serialisierer) zur Serialisierung der benutzerdefinierten Aktivität verwendet wird. |
|
Gibt an, dass die aktuelle Workflowinstanz beibehalten werden muss, wenn die Ausführung der dargestellten Aktivität abgeschlossen wird. |
|
Gibt den Laufzeitnamen für die benutzerdefinierte Aktivität an. |
|
Gibt das zu verwendende Symbol an, um die benutzerdefinierte Aktivität in einem Container darzustellen, z. B. in einem benutzerdefinierten Workflow-Designer. |
|
Gibt an, welche von ActivityToolboxItem abgeleitete Klasse mit der benutzerdefinierten Aktivität in einem Container verwendet wird, z. B. in einem benutzerdefinierten Workflow-Designer. |
|
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. |
Ruft Methoden bei lokaler Kommunikation auf einem Host auf. |
|
Alle zusammengesetzten Aktivitäten werden von diesem Typ abgeleitet. |
|
Behandelt eingehende Ereignisse, die bei lokaler Kommunikation von einem Host ausgelöst wurden. |
|
Wird verwendet, um benutzerdefinierte zusammengesetzte Aktivitäten zu erstellen, die über nacheinander ausgeführte untergeordnete Aktivitäten verfügen. |
|
Wird verwendet, um sequenzielle Workflows zu erstellen. |
|
Wird in Statuscomputerworkflows verwendet, um Ereignisse oder die Initialisierung für einen gegebenen Zustand zu behandeln. |
|
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
Copyright © 2007 by Microsoft Corporation. Alle Rechte vorbehalten.