2013-12-10 1 views
0

Проблема следующая: у меня есть проект для iPhone в Xamarin. В этом проекте у меня есть файловое хранилище, которое иногда синхронизируется с базой данных сервера. Синхронизация использует следующую схему: я формирую HttpWebRequest, добавляю заголовки и вызываю BeginGetRequestStream. После этого я анализирую поток из EndGetRequestStream в обратном вызове, добавляю его к запросу в качестве тела и вызываю BeginGetResponse с этим запросом. В ответном обратном вызове я анализирую поток из EndGetResponse и записываю данные в хранилище файлов. Он работает нормально. Но мне не нужно переделать эту схему, используя NSUrlRequest и NSUrlSession, поэтому я могу поместить синхронизацию в фоновом режиме. Проблемы начинаются с BeginGetRequestStream, благодаря чему я получаю тело для запроса. Как я могу получить этот поток с помощью NSUrlRequest?HttpWebRequest.BeginGetRequestStream в NSUrlRequest

Спасибо за помощь!

+0

Привет, Что является причиной для желающих перейти от HttpWebRequest к NSUrlResquest? – Blounty

+0

Потому что я хочу поставить синхронизацию на задний план. Поскольку я читаю здесь http://docs.xamarin.com/guides/cross-platform/application_fundamentals/backgrounding/part_3_ios_backgrounding_techniques/ios_backgrounding_with_tasks/ в iOs 7 "... время выполнения задачи больше не непрерывное. Разработчикам предлагается использовать API NSURlSession для обработки сетевых передач ». – SDmitry

ответ

0

Существует отличный блог об использовании фоновых трансферов в iOS и Xamarin, который рассказывает, как настроить его.

You can find it here

+1

Спасибо за ваш ответ, но я уже прочитал этот пост и многие другие). Я решаю свою проблему, исключив любой BeginGetRequestStream и заменив их на запросы GET для получения данных с сервера. – SDmitry

 Смежные вопросы

  • Нет связанных вопросов^_^