双方向の要求/応答送信ポートである WCF サービスを呼び出すオーケストレーションがあります。そのようです:
オーケストレーションを送信シェイプの前の状態に維持する方法を見つけようとしています。これは、例外が発生した場合やエンドポイントがダウンした場合に、オーケストレーションを再開して、エンドポイントへの再送信を試行できるようにするためです。
送信/受信シェイプをあらゆる種類のスコープ シェイプでラップして、送信シェイプの上に保持しようとしましたが、役に立ちませんでした。私は Seroter のブログを上下に読んで、彼の投稿で提案されているすべてのことを試しました。
http://seroter.wordpress.com/2007/01/02/orchestration-handling-of-suspended-messages/
たとえば、エンドポイントを削除して送信すると、
System.ServiceModel.ServiceActivationException: 要求されたサービス ' https://my-service.svc ' をアクティブ化できませんでした。サービス インスタンスは、管理上再開または終了されるまで中断されたままになります。再開された場合、インスタンスは最後に永続化された状態から継続し、同じ予期しない例外を再スローする可能性があります。
これは予想されることです。それが言うように、インスタンスは再開時に同じ例外を再スローする可能性があります (これは、私が何を試しても関係ありません)。
私が試したこと:
- 送信図形をアトミック スコープでラップしますが、例外がスローされた後も中断されます。
- 送信シェイプと受信シェイプの両方をアトミック スコープでラップしますが、コンパイル時にエラーが発生します。
エラー 1 アトミック スコープは、「uses」ポートまたはサービスリンクでの requestresponse 操作の送信と対応する受信の両方を含むサービスまたはスコープを含んだり呼び出したりすることはできません
- Send および Receive シェイプを Long-Running スコープでラップし、例外をキャッチしてから、サスペンド シェイプを使用しようとしましたが、これにより、WCF サービスからの応答を待機している脱水インスタンスが発生します。
他に試してみることができるかどうかはわかりません。基本的に私が求めているのは、どのようにオーケストレーションを「conWrapper」(または sendRCMR の上の任意の場所...) の形で、含まれている画像に表示されるようにするにはどうすればよいですか?