WorkflowInstanceId lekérése

A GetWorkflowInstanceId minta bemutatja, hogyan használható az egyéni tevékenység a GetWorkflowInstanceId munkafolyamat-példány azonosítójának visszaadásához.

Megmutatja

Egyéni tevékenységfejlesztés, a munkafolyamat-példány elérése.

Megbeszélés

Egy futó munkafolyamat példányazonosítójának lekéréséhez kódírásra van szükség. Ha teljesen deklaratív munkafolyamatot szeretne írni, akkor szüksége van egy olyan tevékenységre, amely vissza tudja adni a munkafolyamat azonosítóját. Így a tevékenység hivatkozható lesz a munkafolyamatban, ezáltal megteremtve a teljesen deklaratív munkafolyamat-létrehozási élményt. Számos forgatókönyv megköveteli a példányazonosító elérését: néhány példa erre a naplózás vagy auditálás, illetve az alkalmazásszintű korreláció végrehajtása, amikor a példányazonosítót visszaküldjük az ügyfélnek a későbbi társítás céljából (például amikor ezt a tevékenységet egy SendReply-tevékenységen belül használjuk).

GetWorkflowInstanceId CodeActivity<TResult>-ként van implementálva, mert egy Guid típusú értéket kell visszaadnia, és hozzá kell férnie a CodeActivityContext-hoz a munkafolyamat példányazonosítójának lekéréséhez. Megvalósítása meglehetősen alapszintű.

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