OperationChain-Klasse

Namespace: Microsoft.Azure. Workflows.Sdk

OperationChain stellt eine gerichtete Kette von Workflow-Operationen dar, die einen Startknoten und einen oder mehrere Endknoten verfolgt. Sie ist das Ergebnis jedes Aufrufs Then() und unterstützt die Kombination paralleler Verzweigungen, die dieselbe Wurzel teilen.

Verwendung

var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var left = trigger.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Left").WithName("Left"));
var right = trigger.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Right").WithName("Right"));

// Join two chains that share the same trigger root
var joined = left.Join(right);

// Fan-in: add an action after both branches
joined.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "Merged").WithName("Merged"));

WorkflowFactory.CreateStatefulWorkflow("fanInWorkflow", trigger);

Methodik

Join

Kombiniert diese Kette mit einer anderen OperationChain, die dieselbe Root-Operation teilt, wodurch eine einzelne Kette mit einheitlichen Endknoten entsteht. Verwenden Sie diese Methode, um unabhängig gebaute Zweige zu verschmelzen, bevor Sie mit weiteren Aktionen fortfahren.

public OperationChain Join(OperationChain other)
Name Beschreibung Typ Erforderlich
sonstige Die Kette, mit der man sich verbinden kann. Muss denselben Startknoten teilen. OperationChain Yes
var trigger = WorkflowTriggers.BuiltIn.CreateHttpTrigger();
var branch1 = trigger.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "A").WithName("BranchA"));
var branch2 = trigger.Then(WorkflowActions.BuiltIn.Compose(inputs: () => "B").WithName("BranchB"));

// Merge both branches
OperationChain merged = branch1.Join(branch2);

// Continue after both branches complete
merged.Then(WorkflowActions.BuiltIn.Response(
    responseBody: () => "Both branches done").WithName("FinalResponse"));

Dann

Dieser Typ implementiert Then() Methoden von IChainableNode. Siehe diese Seite für vollständige Dokumentation aller Überlastungen.