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;
}
}
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
|