(0) exportieren Drucken
Alle erweitern

Activity-Klasse

Aktualisiert: November 2007

Stellt den grundlegenden Baustein von Workflows dar. Activity ist die Basisklasse für alle Aktivitäten.

Namespace:  System.Workflow.ComponentModel
Assembly:  System.Workflow.ComponentModel (in System.Workflow.ComponentModel.dll)

[RuntimeNamePropertyAttribute("Name")]
[ActivityCodeGeneratorAttribute(typeof(ActivityCodeGenerator))]
[ActivityValidatorAttribute(typeof(ActivityValidator))]
[ToolboxBitmapAttribute(typeof(Activity), "Design.Resources.Activity.png")]
public class Activity : DependencyObject
/** @attribute RuntimeNamePropertyAttribute("Name") */
/** @attribute ActivityCodeGeneratorAttribute(ActivityCodeGenerator) */
/** @attribute ActivityValidatorAttribute(ActivityValidator) */
/** @attribute ToolboxBitmapAttribute(Activity, "Design.Resources.Activity.png") */
public class Activity extends DependencyObject
public class Activity extends DependencyObject

Activity ist der grundlegende Baustein von Workflows. Eine Activity definiert eine Reihe von Eigenschaften und Ereignissen (wie jede beliebige Klasse) zusammen mit einer Ausführungslogik, die das Laufzeitverhalten der Aktivität definiert. Einer Activity kann ein Satz zusätzlicher Komponenten zugeordnet werden. Diese umfassen ein Validierungssteuerelement, einen Codegenerator, benutzerdefinierte Serialisierungsprogramme und einen Designer, sind aber nicht darauf beschränkt.

Ein allgemeiner Satz von auf der Activity-Basisklasse definierten Eigenschaften wird für alle Aktivitäten freigegeben. Jede Activity kann eigene zusätzliche Eigenschaften gemäß ihren Anforderungen durch Erweitern dieser Klasse deklarieren. Da Activity von DependencyObject abgeleitet wird, können Eigenschaften als Standard-CLR-Eigenschaften und Abhängigkeitseigenschaften definiert werden.

Die Ausführungslogik von Activity erfüllt einen Vertrag zwischen Activity und der Workflowlaufzeit. Die Ausführungslogik von Activity muss nachvollziehbar dokumentiert werden, damit ein Workflowentwickler, der Activity verwendet, über das Verhalten informiert ist. Die Ausführungslogik selbst wird dem Workflowentwickler, der die Aktivität in einen Workflow einbindet, nicht angezeigt, da die Ausführungslogik Teil eines verbindlichen Vertrags zwischen der Workflowlaufzeit und Activity ist.

In diesem Beispiel wird eine Aktivität definiert, deren Zweck das Senden einer E-Mail ist. Die Aktivität definiert die Eigenschaft Subject, die in ihrer Implementierung eine Abhängigkeitseigenschaft verwendet. Andere Eigenschaften können auf eine ähnliche Weise definiert werden. Die Execute-Methode wird überschrieben, um die Logik für das Senden der E-Mail bereitzustellen. Ein vollständiges Beispiel finden Sie unter Beispiel für eine Aktivität zum Senden von E-Mail.

public class SendEmail : Activity
{
    public static readonly DependencyProperty SubjectProperty =
        DependencyProperty.Register("Subject", typeof(string), typeof(SendEmail));

    public string Subject
    {
        get { return base.GetValue(SubjectProperty) as string; }
        set { base.SetValue(SubjectProperty, value); }
    }

    // Define other properties...

    protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
    {
        // Logic to send the e-mail goes here...
        return ActivityExecutionStatus.Closed;
    }
}

Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.

Windows Vista, Windows XP SP2, Windows Server 2003

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft