2012-07-17 79 views
0

我想同步调用一个restful api。我想知道如何同步启动服务API?是否有可能同步调用API?如何获得同步HTTP响应

+0

您能否给我们在它需要你的场景?你到目前为止的任何代码?你的问题的答案是“是”,顺便说一句。 – 2012-07-17 10:53:00

+0

@igrali:我想要点击付款API,并想要锁定屏幕(显示屏幕屏幕),直到付款api响应到来。一旦响应来到,基于那个想调用另一个webservice。 – Invincible 2012-07-17 11:11:36

+1

这听起来像异步场景。先调用api - >显示加载屏幕 - >当你收到异步回调时,调用下一个api调用 - >当第二次调用返回时,移除加载屏幕。 – 2012-07-17 11:25:40

回答

1

您不需要同步调用您的方案。您所需要的只是处理即将到来的响应,而异步模式则完美无缺。

假设您正在使用Web客户端(很容易地适应任何场景)工作:

WebClient client = new WebClient(); 
client.DownloadStringCompleted += (s,e) => 
{ 
    if (e.Result == "Paid") 
     LoadingScreen.Visibility = Visibility.Collapsed; 
}; 
client.DownloadStringAsync(new Uri("http://somerestapi.out.there")); 
LoadingScreen.Visibility = Visibility.Visible; 
+0

感谢您的回答。我们可以在一个页面上添加多个屏幕吗?是否可以在一个页面上添加多个屏幕? – Invincible 2012-07-17 17:21:30

+1

您正在寻找弹出窗口:http://msdn.microsoft.com/en-us/magazine/hh456394.aspx – 2012-07-17 17:28:36

+0

再次感谢您的答案。还有一件事你能告诉我什么时候,为什么以及如何在你的Windows应用程序中实现usercontrol。 – Invincible 2012-07-17 17:50:55