0

我有这个代码来调用服务,我收到以下错误。

    Uri serviceUri = new Uri("https://api.datamarket.azure.com/miosoft/coordinate-distance-calculator/v1/");
                    CoordinateDistance context = new CoordinateDistance(serviceUri);
                    context.IgnoreMissingProperties = true;
                    context.Credentials = new NetworkCredential("xxx@outlook.com", "xxx");

                    IEnumerable<Distance> nquery;

                    nquery = context.CoordinateDistanceServiceMethod(-122.347938, 47.637933, -122, 47);

此目标框架不允许您直接枚举数据服务查询。这是因为枚举会自动向数据服务发送同步请求。因为该框架只支持异步操作,所以必须改为调用 BeginExecute 和 EndExecute 方法来获取支持枚举的查询结果。

所以我找到了解释如何正确调用它的代码,所以我在这里添加了这段代码

  DataServiceQuery<Distance> query = (DataServiceQuery<Distance>)nquery;
                    TaskFactory<IEnumerable<Distance>> taskFactory = new TaskFactory<IEnumerable<Distance>>();
                    IEnumerable<Distance> result = await taskFactory.FromAsync(query.BeginExecute(null, null), iar => query.EndExecute(iar));

但现在在最后一行我得到无效参数。

任何想法 ?或者使用 Windows Store App 调用 Azure Marketplace 固定查询的工作示例?

4

0 回答 0