はい、かなり無意味ですが、実際には少なくとも7秒間WCFサービスの応答を遅らせる必要があります。これは今ブロックされていると言われているSystem.Threading.Thread.Sleep()
で行われます。したがって、ワーカースレッドを他の要求に利用できるようにするソリューションを探したいと思います。私もブロックしようとしたSystem.Timer
を試しました。ワーカースレッドをブロックせずにWCFサービスの応答を遅らせる可能性はありますか?
私は、要求を送信する可能性を認識しており、クライアントに待機する時間を伝え、時間が経過した後に2回目の要求を実行します。しかし、それは、待っている時間を確認し、さまざまなデータを保存して再送信し、変更されていないことを検証する必要があります。私はこれが本当に必要かどうか最初に調査したいと思います。
7秒後にトリガーするSystem.Threading.Timerにイベントをアタッチすることはオプションになりますか? – Gabber
あなたのサービスはどのようにホストされていますか? – paramosh
@Gabber:上記のように、私はこれを試してみました。これはブロックされているようです(別のスレッドを使って 'Timer'をホストしているため)。 – PrinceCharles