在For循环中处理此HttpWebRequest的最佳方法是什么?

时间:2015-11-10 19:46:38

标签: c# httpwebrequest webrequest

问题背景:

我打电话给亚马逊的产品广告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);
            }
         }

0 个答案:

没有答案