0

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

但是,我在登录方面遇到了困难(该服务提取了登录到 Facebook 的所有详细信息,因此我不必处理它们。我需要做的就是通过服务调用进行登录)。

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

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

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

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

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

提前致谢。

4

1 回答 1

0

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

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

我希望这有帮助...

于 2011-03-22T20:03:25.103 回答