私は.net Webサービスを持っています。60 秒かかるタスクを実行し、その後文字列の結果をクライアントに返すメソッドがあります。
一部のネットワーク、特に低帯域幅では、Web サービス メソッドが 60 秒でタスクを実行する前に、40 秒でタイムアウト エラーが発生します。
低帯域幅のネットワークをサポートするために、Web サービスの非同期呼び出しを実装したいと考えています。
非同期 Web サービス呼び出しでは、次の図に示すように、Web サービス メソッドを実行し、Web サービスの結果をメイン スレッドに返すスレッドを使用するアプローチがあります。
しかし、そのスレッドは 1 つの接続を使用するため、このアプローチでは私の問題は解決されません。
別のアプローチが必要です。クライアントのスレッドが webservice メソッドを呼び出し、メソッドがその操作を開始し、タスクが完了すると、1) webservice が応答の準備ができているというメッセージを送信するか、2) クライアントが webservice の応答の準備ができているかどうかを確認します (ポーリングメカニズムだと思います)次の写真。
.net で 2 番目のアプローチを実装するにはどうすればよいですか? 出来ますか?
ありがとう。