WorkflowServiceHost で自己ホストしている永続化されたワークフローを再開する方法を考え出そうとしています。現在、私のホストは永続性とアイドリング動作を次のように結び付けています。
// Persistence
var connStr = @"";
var behavior = new SqlWorkflowInstanceStoreBehavior(connStr);
behavior.InstanceCompletionAction = InstanceCompletionAction.DeleteNothing;
behavior.InstanceLockedExceptionAction = InstanceLockedExceptionAction.AggressiveRetry;
behavior.InstanceEncodingOption = InstanceEncodingOption.None;
host.Description.Behaviors.Add(behavior);
// Idle behaviour
var idleBehavior = new WorkflowIdleBehavior();
idleBehavior.TimeToPersist = TimeSpan.FromMinutes(2);
idleBehavior.TimeToUnload = TimeSpan.FromMinutes(2);
host.Description.Behaviors.Add(behavior);
ワークフローに含まれるカスタム アクティビティ内のデータベースの ProductID に対するワークフロー インスタンス GUID を保存しているので、特定のワークフロー インスタンスを製品 ID まで簡単に追跡できます。どうにかしてこの製品 ID を ServiceHost に渡し、永続化された正しいワークフローを再開できるようにしたいと考えています。
これを行う方法について誰かが私を正しい方向に向けることができますか?
よろしくお願いします