Вызов и обработка ответа от сервиса Rest в приложении WP7 - PullRequest
0 голосов
/ 22 марта 2011

Я новичок в WP7 и работаю над приложением WP7, которое связывается со службой отдыха с помощью C #. Мне удалось успешно разработать асинхронный код, используя HttpWebRequest для взаимодействия с ним.

Однако у меня возникают трудности с аспектом входа в систему (служба абстрагирует все детали входа в Facebook, поэтому мне не нужно с ними обращаться. Все, что мне нужно сделать, - это пройти вызов службы для входа в систему) .

Служба выполняет вход в систему, предоставляя мне URI, по которому я могу позвонить, где мне нужно включить несколько параметров в QueryString (например, данные для входа в приложение и пользователя). Еще один из этих параметров, который мне нужно отправить, - это «Response URI» в коде моего приложения для получения ответов на вход в систему. Таким образом, когда служба выполняет процедуру входа в систему, она будет постоянно отправлять информацию обратно на мой «URI ответа», чтобы уведомить меня о состоянии процесса входа в систему.

Возможные результаты процесса входа в систему включают в себя:
1 - сообщение об успешном завершении в строке запроса на мой "URI ответа"

2 - что еще интереснее, службе может потребоваться, чтобы мой пользователь ввел дополнительную информацию для входа в систему, и в этом случае служба хочет отобразить веб-страницу в моем приложении, чтобы пользователь мог ввести эту информацию.

Из-за # 2 выше, я считаю, что мне нужно, чтобы "Response URI" в моем приложении WP7 был элементом управления WebBrowser. Таким образом, ответы на вход от службы могут быть отправлены туда, и я просто отслеживаю строку запроса URI, отображаемую в этом веб-браузере, пока не определю, что мы достигли «окончательного результата» процесса входа в систему. Между тем, мое приложение просто позволяет сервису использовать WebBrowser для взаимодействия с моим пользователем, если это необходимо.

Моя проблема в том, что я не знаю, как установить «Путь ответа» для входа в систему в качестве веб-браузера. Буду признателен за любую помощь или предложения.

Заранее спасибо.

1 Ответ

0 голосов
/ 22 марта 2011

Этот ответ основан на моем опыте RPX / JanRain Engage. Может помочь, если мы знаем, какую систему входа вы используете (это не сам Facebook или нет?)

  1. Если система входа в систему отправляет вам сообщение «нужна дополнительная информация», то это сообщение будет содержать URL для показа.
  2. На этом этапе покажите страницу в веб-браузере и передайте фиктивный ResponseUrl (например, http://myurl.special/reply)
  3. Затем продолжайте следить за событием OnNavigating WebBrowser - когда WebBrowser переходит к http://myurl.special/reply, тогда вы знаете, что все готово

Надеюсь, это поможет ...

...