Freigeben über


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