MobileService 离线同步 PullAsync 不 return

MobileService Offline Sync PullAsync does not return

我目前正在尝试更新我的 Windows Phone 应用程序以使用具有离线同步功能的移动服务。

我使用了 msdn 入门,但它对我不起作用。

每次打电话

await table.PullAsync("table", table.getQuery()); 

它永远不会完成(程序不会继续)。

使用 fiddler 我可以看到,客户端从服务器获得了正确的响应。

可能是什么问题?

谢谢!

编辑:当我执行 .GetAwaiter().OnCompleted(...) 时,回调被调用。为什么 await 挂起?

最常见的原因是,在调用堆栈中的某处,您使用 GetResult() 或类似的方式执行 GetAwaiter() 的操作 - 这通常是 "hangs" 第二次调用的程序因为它仍在等待一个从未退出的线程。

在整个应用中始终使用 await

也尽可能将ConfigureAwait(false)添加到awaited方法中,即:

await table.PullAsync("table", table.getQuery()).ConfigureAwait(false);

有关此事的更多信息,请访问 Stephen Cleary's blog