Condividi tramite


Ottenere WorkflowInstanceId

L'esempio GetWorkflowInstanceId illustra come usare l'attività personalizzata GetWorkflowInstanceId per restituire l'ID istanza del flusso di lavoro.

Dimostra

Sviluppo dell'attività personalizzata, come accedere all'istanza del flusso di lavoro.

Discussione

L'acquisizione dell'ID istanza di un flusso di lavoro in esecuzione richiede che venga scritto codice. Se si desidera scrivere un flusso di lavoro completamente dichiarativo, è necessaria un'attività che possa restituire l'ID istanza del flusso di lavoro in modo che sia possibile fare riferimento all'attività nel flusso di lavoro per fornire una creazione di flussi di lavoro completamente dichiarativa. Molti scenari richiedono l'accesso all'ID istanza: alcuni esempi sono per la registrazione o il controllo degli scopi o per eseguire la correlazione a livello di applicazione fornendo di nuovo l'ID istanza a un client per l'associazione futura (ad esempio, tramite questa attività in un'attività SendReply).

GetWorkflowInstanceId viene implementato come CodeActivity<TResult> perché deve restituire un valore di tipo Guid e deve disporre dell'accesso all'oggetto CodeActivityContext per l'acquisizione dell'ID istanza del flusso di lavoro. L'implementazione è abbastanza semplice.

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