Freigeben über


Abrufen von WorkflowInstanceId

Dieses Thema gilt für Windows Workflow Foundation 4.

In diesem Beispiel wird veranschaulicht, wie die benutzerdefinierte Aktivität GetWorkflowInstanceId verwendet wird, um die Workflowinstanz-ID zurückzugeben.

Veranschaulicht

Benutzerdefinierte Aktivitätsentwicklung, Zugriff auf die Workflowinstanz.

Diskussion

Für das Abrufen der Instanz-ID eines ausgeführten Workflows muss Code geschrieben werden. Wenn Sie einen vollständig deklarativen Workflow schreiben möchten, benötigen Sie eine Aktivität, die die Workflowinstanz-ID zurückgeben kann, damit im Workflow auf die Aktivität verwiesen werden kann, um eine vollständig deklarative Workflowerstellungserfahrung bereitzustellen. Viele Szenarien erfordern Zugriff auf die Instanz-ID: einige Beispiele dienen Protokollierungs- oder Überwachungszwecken oder der Korrelation auf Anwendungsebene durch Bereitstellen der Instanz-ID für einen Client zurück zur künftigen Zuordnung (z. B. durch Verwendung dieser Aktivität in einer SendReply-Aktivität).

GetWorkflowInstanceId wird als CodeActivity implementiert, da ein Wert vom Typ Guid zurückgegeben werden muss und Zugriff auf den CodeActivityContext zum Abrufen der Instanz-ID des Workflows erforderlich ist. Die Implementierung ist relativ einfach.

public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
protected override Guid Execute(CodeActivityContext context)
        {
            return context.WorkflowInstanceId;
        }
}
Ee943758.Important(de-de,VS.100).gif Hinweis:
Die Beispiele sind möglicherweise bereits auf dem Computer installiert. Überprüfen Sie das folgende (standardmäßige) Verzeichnis, bevor Sie fortfahren.

<InstallDrive>:\WF_WCF_Samples

Wenn dieses Verzeichnis nicht vorhanden ist, rufen Sie Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF) Samples for .NET Framework 4 auf, um alle Windows Communication Foundation (WCF)- und WF-Beispiele herunterzuladen. Dieses Beispiel befindet sich im folgenden Verzeichnis.

<Installationslaufwerk>:\WF_WCF_Samples\WF\Scenario\ActivityLibrary\GetWorkflowInstanceId