私は、サードパーティのWebサイトから情報を取得するクラスライブラリに取り組んでいます。設定された時間内にリクエストが多すぎると(〜0.5秒)、アクセスされているWebサイトが応答を停止します。ウェブリクエストを抑制する責任は誰にありますか?
私のライブラリのパブリックメソッドは、Webサーバー上のファイルに直接関連しています。つまり、メソッドが呼び出されるたびにHttpWebRequest
が作成され、サーバーに送信されます。すべてがうまくいくと、XMLファイルが呼び出し元に返されます。ただし、これが0.5秒未満で2番目のWeb要求である場合、の要求はタイムアウトになります。
私のジレンマは、リクエストスロットルをどのように処理するべきかにあります。明らかに、私は、呼び出し側が応答を待つことを避けたいと思っています。特に、要求がタイムアウトすることを完全に確信している場合は特にそうです。
私のライブラリが作成したWeb要求を待ち行列に入れてスロットルするのが理にかなっていますか?クライアントがAPI呼び出しの間に十分長く待たなければライブラリは単に例外をスローするべきですか?
ジャスティン。アクセスしているWebサイトか、サードパーティのWebサイトです。私の「良い市民」のコメントはそれが第三者であることに基づいていましたが、他の人はあなたのサイトを推測したようです。 – Andiih
サイトは確かに第三者のサイトです。私はそれを指定しなかったことを指摘してくれてありがとう。私は明確にするために私の質問を更新しました。 –