データベースには3万人のユーザーがいて、それぞれに指定された電話番号があります。電話番号ごとに、ユーザーの情報を取得するWebサービスを呼び出します。多くのユーザーがWebサービスに表示されないため、nullを受信しますが、どのユーザーが表示されるかはわかりません。また、新しいユーザーが表示されることもあります。Webサービスはリアルタイムで更新されるため、新しい結果は数分ごとに表示されます。応答がnullでなく、受信したファイルが前回受信したものと同じでない場合は、受信したXMLファイルからPDFドキュメントを作成します。
Webサービスの呼び出しは、次の擬似コードを使用して.aspxサイトを開始するスケジュールされたタスクによって開始されます。
Foreach phonenumber {
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("webservice/phonenumber");
using (StreamReader reader = new StreamReader(webResponse.GetResponseStream()))
{
makePdf();
}
}
もちろん、問題はリクエストが永遠にかかることです。30kユーザーの場合、約7時間かかります。非同期Webサービス呼び出しを調べてみましたが、何も機能しませんでした。誰かが私を正しい方向に向けることができますか(可能であれば)、またはこれについてどうすればよいか教えてもらえますか?
ありがとう