Hello Workflow!

Written on January 06, 2007

Nachdem ich beim Erstellen meines ersten sequentiellen Workflows mit der Windows Workflow Foundation über etliche Samples gestolpert bin, die noch auf Betas basieren (und somit nicht mehr sinnvoll verwendetbar sind, da z.B. der Parameter Editor seit Beta 2 verschwunden ist), hier ein kleines HowTo für einen einfachen sequentiellen "Hello World"-Workflow:

Zunächst erzeugen wir in Visual Studio 2005 ein neues C#-Projekt vom Typ Sequential Workflow Console Application:

Danach präsentiert sich der Workflow-Designer wie folgt:

Im nächsten Schritt ziehen wir eine Code-Activity aus der Toolbox links in den Designer in der Mitte:

Ein Doppelklick auf die Code-Activity öffnet den Code-Editor. Dort setzen wir in die hierdurch erzeugte Methode codeActivity1_ExecuteCode_1 den obligatorischen Hello-World Code:

private void codeActivity1_ExecuteCode_1(object sender, EventArgs e) {
    Console.WriteLine("Hello World from WF!");
    Console.ReadLine();
}

Das Ausführen des Workflows sollte folgendes Resultat liefern:

Will man dem Workflow nun Parameter (z.B. Vor- und Nachname) übergeben, sind folgende Erweiterungen notwendig:

Dem Workflow (Workflow1.xoml.cs) müssen zwei Properties hinzugefügt werden:

private string firstName;
private string lastName;

public string FirstName {
    get { return firstName; }
    set { firstName = value; }
}

public string LastName {
    get { return lastName; }
    set { lastName = value; }
}

In der Program.cs müssen die Parameter inkl. der Werte dann noch an die CreateWorkflow-Methode übergeben werden:

Dictionary

Um beim Aufruf des Workflows nun die übergebenen Parameter auszugeben ist die codeActivity1_ExecuteCode_1-Methode anzupassen:

Console.WriteLine("Hello {0} {1} from WF!", firstName, lastName);

Das Resultat: