テンプレート ワークフローの一番上に、同期操作を実行したい場所に ReceiveRequest / SendReply ブロックを配置し、ユーザー クライアントが開始されたワークフローのタイムリーな応答を受信できるようにします。クライアントは、WCF 経由で WF を呼び出します。
クライアントは、アプリケーション データベースのエントリのステータスを使用して、現在のリクエストのステータスを認識しています。
たとえば、注文を作成し、PlaceOrderWF を呼び出し、DB で注文のステータスを「Accepted」に設定します。クライアントは、WF がチェックや制御などを行っている間に、必要なことを何でも実行できます。注文の最終値を「完了」または「エラー」に設定します。
SendResponse ブロックの直後にクライアントが応答を受け取ることを期待しています。実際にはこのようには動作しないようですが、何らかの「イベント」がクライアントを解放するのを待ちます。残念ながら、この動作を引き起こすイベントの証拠はありません。
テストするには、SendResponde アクティビティの後に Delay アクティビティを配置するだけで、私が話している動作を再現できるはずです。
この望ましくないエラーを回避する方法に関するヒントはありますか?