在WP7应用程序中调用和处理来自Rest服务的响应

时间:2011-03-22 19:32:00

标签: facebook rest windows-phone-7 navigateuri

我是WP7的新手,我正在开发一个使用C#与Rest服务通信的WP7应用程序。我已经能够使用HttpWebRequest成功开发异步代码来与之交互。

但是,我在登录方面遇到了困难(该服务将所有登录Facebook的详细信息抽象出来,因此我无需处理它们。我需要做的就是通过服务电话进行登录)

该服务通过向我提供一个URI来进行登录,我可以在其中调用我需要包含QueryString的几个参数(例如应用和用户登录信息)。我需要发送的另一个参数是我的应用程序代码中的“响应URI”,用于接收登录响应。因此,当服务执行登录过程时,它将不断地将信息发送回我的“响应URI”以通知我登录过程的状态。

登录过程的可能结果包括:
1- Querystring中的成功消息到我的“响应URI”

2-更有趣的是,该服务可能需要我的用户输入其他信息才能登录,在这种情况下,服务希望在我的应用程序中显示一个网页,供用户输入此信息。

由于上面的#2,我相信我需要在我的WP7应用程序中使用“响应URI”作为WebBrowser控件。因此,可以在那里发送来自服务的登录响应,我只监视该WebBrowser上显示的URI的查询字符串,直到我确定我们已经到达登录过程的“最终结果”。同时,我的应用程序只是让服务使用WebBrowser与我的用户交互,如果需要的话。

我的问题是我不知道如何将登录调用的“响应路径”设置为WebBrowser。任何帮助或建议将不胜感激。

提前致谢。

1 个答案:

答案 0 :(得分:0)

此回复基于我对RPX / JanRain Engage的体验。如果我们知道您正在使用哪个登录系统(它不是Facebook本身,或者是它?),这可能会有所帮助。

  1. 如果登录系统向您发送“需要更多信息”消息,则该消息将包含要显示的URL。
  2. 此时在WebBrowser中显示一个页面并传入一个虚拟的ResponseUrl(例如http://myurl.special/reply
  3. 然后继续监视WebBrowser的OnNavigating事件 - 当WebBrowser导航到http://myurl.special/reply然后你就知道你已经完成了
  4. 我希望这会有所帮助......