Windows Server AppFabric でいくつかの WF 4 サービスを実行しています。未処理の例外がワークフローで発生し、放棄されるか (未処理の例外に対するアクションが「放棄」に設定されている場合)、または一時停止されます (アクションが「放棄して一時停止」に設定されている場合)。
「放棄」の場合、ワークフローは例外の後も「実行中 (アクティブ)」のままであり、AppFabric WorkflowManagementService が最後に永続化されたポイントからワークフローを自動的に続行することを期待しています。
「放棄して一時停止」の場合、AppFabric ダッシュボードを介してワークフローを手動で再開できると思います。
どちらの場合も、これは発生しませんが、AppFabric ダッシュボードと Windows イベント ビューアー (Windows -> アプリケーション サーバー - システム サービス -> 管理者) でさまざまなエラー メッセージと警告メッセージが表示されます。
エラー:
'net.pipe://jon-hp/Afis.Workflow/ServiceManagement.svc' でサービス管理エンドポイントを呼び出して、サービス '/Afis.Workflow/ATP.xamlx' をアクティブ化できませんでした。\rException: 'The open operation did not complete 00:01:00 の割り当てられたタイムアウト内。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。
エラー:
コントロール エンドポイント net.pipe://jon-hp/Afis.Workflow/ATP.xamlx/System.ServiceModel.Activities_IWorkflowInstanceManagement.\rException: System.TimeoutException: The open operation 経由でインスタンス d626005a-63bd-4ab1-8192-62616755015c を再開できませんでした00:01:00 の割り当てられたタイムアウト内に完了しませんでした。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。内部例外: System.TimeoutException: パイプからの非同期読み取りが割り当てられたタイムアウト 00:00:59.9989999 内に完了しなかったため、パイプ接続が中止されました。この操作に割り当てられた時間は、より長いタイムアウトの一部であった可能性があります。内部例外: System.IO.PipeException: パイプが閉じられたため、操作を完了できません。これは、パイプの反対側のアプリケーションが終了したことが原因である可能性があります。
警告 (定期的に 20 分ごと)
WMS はどのホストもアクティブ化できませんでした - バックオフ中です。ストア名「defaultSqlPersistenceStore」(「ルート」)。
Web サイトとアプリケーションで Net.pipe が有効になり、IIS マネージャー -> エンドポイント -> フィルターの削除 (System.ServiceModel.Activities.IWorkflowInstanceManagement) にリストされている管理エンドポイントを確認できます。
私のアプリケーション エンドポイントは、トランスポート セキュリティと Windows 認証を使用して net.tcp を実行しています。
このスレッドは関連しているようですが、問題を解決できませんでした: http://social.msdn.microsoft.com/Forums/en/dublin/thread/e1705e89-34cc-4526-b11e-9d67d66c403d
編集 1: 私のシナリオには、ワークフロー A を呼び出すクライアントが含まれます。ワークフロー A は、何らかの処理を行い、永続化して戻ります。次に、ワークフロー A がワークフロー B を呼び出し、ワークフロー B がすぐに例外をスローします。ワークフロー A はこれをキャッチせず、放棄されますが、最後の持続ポイントからまだ実行中 (アクティブ) です。ワークフロー B も放棄されましたが、永続化されていないため、ステータスが実行中 (アイドル) になり、ワークフロー A からのメッセージを待機しています。
次に、ワークフロー A が自動的に再開され、ワークフロー B が再度呼び出されることを期待していますが、これは起こりません。
編集 2: イベント ログに記録されるエラーの種類に一貫性がないようです。期間中、エラーは発生しませんが、次のことも確認しました(上記に加えて):
Failed to Resume instance 032274d1-b6e6-4163-a33a-73bffc8da2cc via control endpoint net.pipe://jon-hp/Afis.Workflow/ATP.xamlx/System.ServiceModel.Activities_IWorkflowInstanceManagement.\rException: System.ServiceModel.FaultException: The execution of an InstancePersistenceCommand was interrupted because the instance '032274d1-b6e6-4163-a33a-73bffc8da2cc' has not yet been persisted to the instance store..
Failed to Resume instance d2b19a41-985e-4dc4-8fd1-955df2cde243 via control endpoint net.pipe://jon-hp/Afis.Workflow/Import.xamlx/System.ServiceModel.Activities_IWorkflowInstanceManagement.\rException: System.ServiceModel.FaultException: The execution of the InstancePersistenceCommand named {urn:schemas-microsoft-com:System.Activities.Persistence/command}LoadWorkflow was interrupted by an error..
Failed to invoke service management endpoint at 'net.pipe://jon-hp/Afis.Workflow/ServiceManagement.svc' to activate service '/Afis.Workflow/ATP.xamlx'.\rException: 'There was an error reading from the pipe: Unrecognized error 109 (0x6d).'