サードパーティのWebサイトから情報を取得するクラスライブラリに取り組んでいます。設定された時間(〜0.5秒)内に要求が多すぎると、アクセスされているWebサイトは応答を停止します。
私のライブラリのパブリックメソッドは、Webサーバー上のファイルのリソースに直接関連しています。つまり、メソッドが呼び出されるたびに、anHttpWebRequest
が作成され、サーバーに送信されます。すべてがうまくいけば、XMLファイルが呼び出し元に返されます。ただし、これが0.5秒未満の2番目のWebリクエストである場合、リクエストはタイムアウトになります。
私のジレンマは、リクエストのスロットリングをどのように処理するか(あるとしても)にあります。明らかに、私は発信者が応答を待っていることを望んでいません-特に彼らの要求がタイムアウトすることを完全に確信している場合は。
私のライブラリが作成したWebリクエストをキューに入れて調整する方が理にかなっていますか、それともクライアントがAPI呼び出しの間に十分な時間待機しない場合、ライブラリは単に例外をスローする必要がありますか?