私は、WorkflowApplication 内で実行されている長時間実行状態のマシンで動作する、やや断続的な問題を解決しようとしています。ワークフローをステップ実行すると、期待どおりに動作し、期待どおりに状態を遷移し、ブックマークに到達してワークフローを保持します。ただし、ワークフローは中止され、次のメッセージが表示されます。
所有者 ID 'ba26f4e9-f38b-4179-aa09-31ab9f8af337' のインスタンス所有者登録が無効になったため、InstancePersistenceCommand の実行が中断されました。このエラーは、この所有者によってロックされたすべてのインスタンスのメモリ内コピーが古くなり、InstanceHandles と共に破棄する必要があることを示しています。通常、このエラーはホストを再起動して処理するのが最適です。
Sql インスタンス ストアは次のように初期化されます。
SqlStore = new SqlWorkflowInstanceStore(ConfigurationManager.ConnectionStrings["SqlInstanceStore"].ConnectionString);
SqlStore.HostLockRenewalPeriod = TimeSpan.FromSeconds(15);
SqlStore.InstanceCompletionAction = InstanceCompletionAction.DeleteAll;
handle = SqlStore.CreateInstanceHandle();
InstanceView sqlView = SqlStore.Execute(handle, new CreateWorkflowOwnerCommand(), TimeSpan.FromSeconds(30));
SqlStore.DefaultInstanceOwner = sqlView.InstanceOwner;
WorkflowHost = new WorkflowApplication(WorkflowDefinition, inputs);
WorkflowHost.Run();
ブックマークを作成するには:
context.CreateBookmark(bkmk, OnResume);
この例外は、この問題のトラブルシューティングに役立つ十分な情報を提供しません。どんな助けでも大歓迎です。