0

当 Windows8 应用程序的搜索功能本质上委托给 Web 服务时,人们可能希望使用这样的代码

var jsonresult = await HttpClient.GetStringAsync(REQ);

然后解析字符串以填充结果集合,然后再将其分配给 this.DefaultViewModel["Results"],但 await 运算符只能在异步方法中使用。

期望如何处理通过查询 Web 服务进行搜索的场景?

我尝试将上面的代码移到异步方法中

async void QueryWebservice(string queryText) { ... }
4

1 回答 1

0

问题仅仅是将结果编组到显示元素中的方式。viewmodel 是一个 Observable。您必须先填充结果集合,然后再将其分配给 this.DefaultViewModel["Results"]

我在分配集合对象然后填充它时遇到的奇怪且不稳定的错误是由于框架在我修改从中获取值的集合时试图填充 UI 的结果。当你反过来做时,不会出现任何问题。

使用异步方法查询 Web 服务效果很好。

于 2013-10-12T01:12:04.370 回答