以编程方式执行Bing图像搜索时出现NotSupportedException

时间:2014-11-19 11:46:35

标签: c# search bing

我使用以下代码从Bing图像搜索获得超过50个结果,使用Bing API搜索容器。我的问题是,当我在更改偏移后尝试执行另一个查询(query.Excecute())以获得接下来的50个结果("$skip", 50)时,我收到以下错误:

  

“System.NotSupportedException”类型的第一次机会异常   发生在Microsoft.Data.Services.Client.dll

我无法弄清楚如何进行另一次查询。只是为了重新迭代,当for循环执行第二次时。这发生在var results = query.Execute();这一行以及它尝试查询时。

   void bingSearch(string searchTerm)
        {
            try
            {
                imageSet = new List<Bing.ImageResult>();
                const string bingKey = "[key]";
                var bing = new BingSearchContainer(
                new Uri("https://api.datamarket.azure.com/Bing/Search/")) { Credentials = new NetworkCredential(bingKey, bingKey) };                
                var query = bing.Image("\"" + searchTerm + "\"" + "(" + site1 + ")", null, null, null, null, null, ImageFilters);
                Debug.Print("Full Search: " + query.ToString());
                int length = 3;
                int resultsPage = 0;

                for (int i = 0; i < length; i++)
                {
                    query = query.AddQueryOption("$top", 50);
                    query = query.AddQueryOption("$skip", resultsPage);
                    var results = query.Execute();
                    int index = 0;
                    foreach (var result in results)
                    {
                        imageSet.Add(result);
                        Debug.Print("URL: " + imageSet[index].Title);
                        index++;
                    }
                    resultsPage = resultsPage + 50;
                    Debug.Print("Getting Next Page: " + resultsPage);
               }
                Debug.Print("Results: " + imageSet.Count);
            }
            catch
            {
                Debug.Print("Error");
            }
        }

0 个答案:

没有答案