変更された WebClientを使用して、次の特性を持つサービスから定期的にデータをダウンロードします。
- データのダウンロード (~1GB) には約 20 分かかります
- 場合によっては、サービスがデータをまったく返さないことを決定したり (要求がハングする)、最初のバイトを返すのに数分から数時間かかることがあります。
サービスが妥当な (構成可能な) 時間内にデータを返さない場合は、すぐに失敗したいと思いますが、進行中のダウンロードが成功するまでには十分な時間が必要です。
WebRequest.Timeoutプロパティは、リクエストが完了するまでの合計時間を制御するようですが、ReadWriteTimeoutは、データ転送の開始後にデータを読み取るために使用できる合計時間を制御します。
接続を確立してから最初のバイトが返されるまでの最大待機時間を制御するプロパティがありませんか? そのようなプロパティがない場合、どうすれば問題にアプローチできますか?