问题背景:
我打电话给亚马逊的产品广告API。这会一次返回X个分页结果,其中XML中的节点表示可用的页数,即10.然后指定页码,API将响应该给定页面的结果。
问题:
我想将每个页面的所有结果添加到一个列表中,然后发送到MVC视图。目前我通过For循环指定上限作为最大循环数,例如,如果有10个页面可用,我循环第1,2,3,4 ......等等直到10日。
以下代码显示了当前的请求。这个可以吗?它有效但我在调试时已经看过几次StackOverflow
异常。
for (int i = 1; i <= 10; i++)
{
string requestUrl = "http://amazonApi.com/page"+i;
WebRequest amazonRequest = HttpWebRequest.Create(requestUrl);
try
{
WebResponse response = amazonRequest .GetResponse();
XmlDocument doc = new XmlDocument();
doc.Load(response.GetResponseStream());
XmlDocument xmlDoc = doc;
//Add Xml Document to List.....
AddToList(xmlDoc);
}
catch (Exception e)
{
System.Console.WriteLine("Caught Exception: " + e.Message);
System.Console.WriteLine("Stack Trace: " + e.StackTrace);
}
}