Abrufen von WorkflowInstanceId
Im GetWorkflowInstanceId-Beispiel wird veranschaulicht, wie die benutzerdefinierte Aktivität GetWorkflowInstanceId
verwendet wird, um die Workflowinstanz-ID zurückzugeben.
Zeigt
Benutzerdefinierte Aktivitätsentwicklung, Zugriff auf die Workflowinstanz.
Diskussion (Discussion)
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<TResult> 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;
}
}