WorkflowChanges.TransientWorkflow プロパティ

定義

アクティビティ ツリーの複製を返します。この複製を変更して、実行中のワークフロー インスタンスに適用できます。

public:
 property System::Workflow::ComponentModel::CompositeActivity ^ TransientWorkflow { System::Workflow::ComponentModel::CompositeActivity ^ get(); };
public System.Workflow.ComponentModel.CompositeActivity TransientWorkflow { get; }
member this.TransientWorkflow : System.Workflow.ComponentModel.CompositeActivity
Public ReadOnly Property TransientWorkflow As CompositeActivity

プロパティ値

ワークフローのルート アクティビティの複製が格納された CompositeActivity

アクティビティを TransientWorkflow プロパティに追加する方法を次の例に示します。 この例は、注文処理ステート マシンの SDK サンプルです。 詳細については、「 ステート マシンの順序付けサンプル」を参照してください。

// Create a new instance of the WorkflowChanges class for managing
// the in-memory changes to the workflow
WorkflowChanges changes = new WorkflowChanges(root);

// Create a new State activity to the workflow
StateActivity orderOnHoldState = new StateActivity();
orderOnHoldState.Name = "OrderOnHoldState";

// Add a new EventDriven activity to the State
EventDrivenActivity eventDrivenDelay = new EventDrivenActivity();
eventDrivenDelay.Name = "DelayOrderEvent";
orderOnHoldState.Activities.Add(eventDrivenDelay);

// Add a new Delay, initialized to 5 seconds
DelayActivity delayOrder = new DelayActivity();
delayOrder.Name = "delayOrder";
delayOrder.TimeoutDuration = new TimeSpan(0, 0, 5);
eventDrivenDelay.Activities.Add(delayOrder);

// Add a new SetState to the OrderOpenState
SetStateActivity setStateOrderOpen = new SetStateActivity();
setStateOrderOpen.TargetStateName = "OrderOpenState";
eventDrivenDelay.Activities.Add(setStateOrderOpen);

// Add the OnHoldState to the workflow
changes.TransientWorkflow.Activities.Add(orderOnHoldState);
' Create a new instance of the WorkflowChanges class for managing
' the in-memory changes to the workflow
Dim changes As New WorkflowChanges(root)

' Create a new State activity to the workflow
Dim orderOnHoldState As New StateActivity()
orderOnHoldState.Name = "OrderOnHoldState"

' Add a new EventDriven activity to the State
Dim eventDrivenDelay As New EventDrivenActivity()
eventDrivenDelay.Name = "DelayOrderEvent"
orderOnHoldState.Activities.Add(eventDrivenDelay)

' Add a new Delay, initialized to 5 seconds
Dim delayOrder As New DelayActivity()
delayOrder.Name = "delayOrder"
delayOrder.TimeoutDuration = New TimeSpan(0, 0, 5)
eventDrivenDelay.Activities.Add(delayOrder)

' Add a new SetState to the OrderOpenState
Dim setStateOrderOpen As New SetStateActivity()
setStateOrderOpen.TargetStateName = "OrderOpenState"
eventDrivenDelay.Activities.Add(setStateOrderOpen)

' Add the OnHoldState to the workflow
changes.TransientWorkflow.Activities.Add(orderOnHoldState)

適用対象