WorkflowPersistenceService.LoadCompletedContextActivity メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
派生クラスとして実装された場合、指定した完了スコープをメモリに戻します。
protected public:
abstract System::Workflow::ComponentModel::Activity ^ LoadCompletedContextActivity(Guid scopeId, System::Workflow::ComponentModel::Activity ^ outerActivity);
protected internal abstract System.Workflow.ComponentModel.Activity LoadCompletedContextActivity (Guid scopeId, System.Workflow.ComponentModel.Activity outerActivity);
abstract member LoadCompletedContextActivity : Guid * System.Workflow.ComponentModel.Activity -> System.Workflow.ComponentModel.Activity
Protected Friend MustOverride Function LoadCompletedContextActivity (scopeId As Guid, outerActivity As Activity) As Activity
パラメーター
戻り値
完了したスコープを表す Activity。
例
LoadCompletedContextActivity
メソッドの実装例を次に示します。 この例は、FilePersistenceService.cs ファイルに含まれているカスタム永続性サービスのサンプルです。 詳細については、「 カスタム永続化サービスのサンプル」を参照してください。
// Load the completed activity state.
protected override Activity LoadCompletedContextActivity(Guid activityId, Activity outerActivity)
{
Console.WriteLine("Loading completed activity context: {0}", activityId);
byte[] workflowBytes = DeserializeFromFile(activityId);
Activity deserializedActivities = WorkflowPersistenceService.RestoreFromDefaultSerializedForm(workflowBytes, outerActivity);
return deserializedActivities;
}
' Load completed activity state.
Protected Overrides Function LoadCompletedContextActivity(ByVal scopeId As System.Guid, ByVal outerActivity As System.Workflow.ComponentModel.Activity) As System.Workflow.ComponentModel.Activity
Console.WriteLine("Loading completed activity context: 0}", scopeId)
Dim workflowBytes As Byte() = DeserializeFromFile(scopeId)
Dim deserializedActivities As Activity = WorkflowPersistenceService.RestoreFromDefaultSerializedForm(workflowBytes, outerActivity)
Return deserializedActivities
End Function
注釈
ワークフロー ランタイム エンジンは、補正を実装するために LoadCompletedContextActivity を使用します。 完了したスコープの完全なコピーを復元する必要があります。 そのためには、データ ストア内の完了スコープを表すものから有効な Stream を復元する必要があります。 次に、オーバーロードされた Stream メソッドの 1 つに、この Load を渡してスコープの逆シリアル化を実行します。
永続性サービスは、データ ストアから完了スコープを読み込めなかった場合に、適切なメッセージを含めた PersistenceException をスローする必要があります。