Sdílet prostřednictvím


Získat ID instance pracovního postupu

Ukázka GetWorkflowInstanceId ukazuje použití vlastní aktivity GetWorkflowInstanceId k vrácení ID instance pracovního postupu.

Demonstruje

Vývoj vlastních aktivit. Jak získat přístup k instanci pracovního postupu.

Diskuse

Získání ID instance spuštěného pracovního postupu vyžaduje zápis kódu. Pokud chcete napsat plně deklarativní pracovní postup, potřebujete aktivitu, která může vrátit ID instance pracovního postupu, aby na aktivitu bylo možné odkazovat v pracovním postupu a poskytnout tak plně deklarativní prostředí pro vytváření pracovních postupů. Mnoho scénářů vyžaduje přístup k ID instance: několik příkladů slouží k protokolování nebo auditování nebo k provádění korelace na úrovni aplikace poskytnutím ID instance zpět klientovi pro budoucí přidružení (například použitím této aktivity uvnitř aktivity SendReply).

GetWorkflowInstanceId je implementována jako CodeActivity<TResult>, protože musí vracet hodnotu typu Guid a musí mít přístup k CodeActivityContext, aby získal ID instance pracovního postupu. Její implementace je poměrně základní.

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