我有这个代码来调用服务,我收到以下错误。
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 固定查询的工作示例?