WorkflowInstance クラス

定義

注意事項

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

ワークフロー インスタンスを表します。

public ref class WorkflowInstance sealed
public sealed class WorkflowInstance
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public sealed class WorkflowInstance
type WorkflowInstance = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowInstance = class
Public NotInheritable Class WorkflowInstance
継承
WorkflowInstance
属性

次のコード例は、ワークフロー ホストで WorkflowInstance を作成および開始する方法を示しています。 このコードでは、WorkflowRuntime のインスタンスを作成してサービスをランタイムに追加し、推奨される WorkflowInstance オブジェクトの作成方法を示します。 このコードは WorkflowInstance メソッドを呼び出し、既に作成されている型をそれに渡すことによって、CreateWorkflow を初期化します。 WorkflowInstance は、Start メソッドの呼び出しによって起動されます。

このコード例は、Program.cs ファイルに含まれている、ワークフローのキャンセルを示す SDK サンプルの一部です。 詳細については、「 ワークフローの取り消し」を参照してください。

Type type = typeof(SampleWorkflow1);
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
workflowInstance.Start();
Dim workflowInstance As WorkflowInstance
workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
workflowInstance.Start()

注釈

注意

ここでは、廃止された型と名前空間について説明します。 詳細については、「.NET 4.5 での Windows Workflow Foundation の新機能」を参照してください。

WorkflowInstance クラスは、ワークフロー インスタンスの実行の制御に使用できるメソッドおよびプロパティを公開します。本質的には、ワークフロー ランタイム エンジンが使用する実際のワークフロー インスタンスのプロキシです。 ホストまたはサービスは、WorkflowInstance クラスに含まれる適切なメソッドを呼び出すことによって、ワークフロー インスタンスに関するアクションの実行をワークフロー ランタイム エンジンに指示することができます。 要求されたアクションが無効だった場合、たとえば既に完成しているワークフロー インスタンスについて Load をホストが呼び出した場合は、該当する例外が発生します。

注意

ホスト アプリケーションでの呼び出しが返されないためにワークフロー インスタンスが応答しなくなった場合、このインスタンスを回復するための方法は、ランタイムを再起動する以外にありません。 ただし、インスタンスが強制的にアンロード、中止、または中断された場合は、WorkflowInstance.Resume メソッドを呼び出すことによってインスタンスを継続することができます。

プロパティ

InstanceId
古い.

ワークフロー インスタンスの一意の識別子を取得します。

WorkflowRuntime
古い.

このワークフロー インスタンスの WorkflowRuntime を取得します。

メソッド

Abort()
古い.

ワークフロー インスタンスを中止します。

ApplyWorkflowChanges(WorkflowChanges)
古い.

WorkflowChanges オブジェクトで指定された変更をワークフロー インスタンスに適用します。

EnqueueItem(IComparable, Object, IPendingWork, Object)
古い.

指定したワークフロー キューへのメッセージの同期ポストを行います。

EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object)
古い.

ワークフローがアイドル状態のときに、指定したワークフロー キューにメッセージをポストします。 EnqueueItemOnIdle(IComparable, Object, IPendingWork, Object) は、ワークフローがアイドル ポイントに達するまで待機し、ワークフロー スケジューラがアイドル状態である (つまりアクティブな操作が実行されていない) ことを確認した後にキューに登録します。

Equals(Object)
古い.

指定したオブジェクトが WorkflowInstance と等しいかどうかを示す値を返します。

GetHashCode()
古い.

ワークフロー インスタンスのハッシュ コードを返します。

GetType()
古い.

現在のインスタンスの Type を取得します。

(継承元 Object)
GetWorkflowDefinition()
古い.

このワークフロー インスタンスのルート アクティビティを取得します。

GetWorkflowNextTimerExpiration()
古い.

この WorkflowInstance にタイマー メッセージが配信されるようスケジュールされている次の特定時点を返します。

GetWorkflowQueueData()
古い.

このワークフロー インスタンスに関連付けられたワークフロー キューでの保留中の項目および定期受信されたアクティビティを格納した、WorkflowQueueInfo オブジェクトのコレクションを取得します。

Load()
古い.

以前にアンロードされたワークフロー インスタンスを読み込みます。

MemberwiseClone()
古い.

現在の Object の簡易コピーを作成します。

(継承元 Object)
ReloadTrackingProfiles()
古い.

このワークフロー インスタンスの追跡プロファイルを再度読み込みます。

Resume()
古い.

中断状態になっているワークフロー インスタンスの実行を再開します。

Start()
古い.

ワークフロー インスタンスの実行を開始します。

Suspend(String)
古い.

ワークフロー インスタンスを中断します。

Terminate(String)
古い.

ワークフロー インスタンスを同期式で終了します。

ToString()
古い.

現在のオブジェクトを表す文字列を返します。

(継承元 Object)
TryUnload()
古い.

メモリ内のワークフロー インスタンスが中断状態またはアイドル状態のときに、そのワークフロー インスタンスを永続ストアにアンロードします。

Unload()
古い.

メモリ内のワークフロー インスタンスを永続ストアにアンロードします。 この呼び出しは、現在のスケジュール済み作業が完了するまで、またはトランザクション スコープが終了するまでブロックされます。

適用対象

スレッド セーフ

この型はスレッド セーフです。

こちらもご覧ください