Freigeben über


WorkflowInstanceId abrufen

Im Beispiel "GetWorkflowInstanceId " wird die Verwendung der benutzerdefinierten Aktivität veranschaulicht, GetWorkflowInstanceId um die Workflowinstanz-ID zurückzugeben.

Zeigt

Benutzerdefinierte Aktivitätsentwicklung, wie Sie auf die Workflowinstanz zugreifen.

Diskussion

Zum 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 zum Protokollieren oder Überwachen von Zwecken oder zum Durchführen einer Korrelation auf Anwendungsebene, indem die Instanz-ID für eine zukünftige Zuordnung an einen Client zurückgesendet wird (z. B. mithilfe dieser Aktivität innerhalb einer SendReply-Aktivität).

GetWorkflowInstanceId wird als ein CodeActivity<TResult> Wert implementiert, da er einen Wert vom Typ Guidzurückgeben muss, und er muss Zugriff auf die CodeActivityContext Instanz-ID des Workflows haben. Ihre Umsetzung ist ziemlich einfach.

public sealed class GetWorkflowInstanceId : CodeActivity<Guid>
{
    protected override Guid Execute(CodeActivityContext context)
    {
        return context.WorkflowInstanceId;
    }
}