Best Practise для обработки Post запросов в windows phone (silverlight)

Я хочу спросить как вы обычно архитектурно реализуете обработку Post запросов в ваших мобильных приложениях(все почти тоже самое в обычных silverlite приложениях). Т.к. мы вынуждены делать все вызовы «очень» многопоточными, появляются вопросы о построении инфраструктуры для обмена данными.

А. UI приложения
Б. Создание HttpWebRequest
В. Метод для BeginGetRequestStream
Г. Метода для BeginGetResponse

Кейсов, которые хочу обсудить несколько:

1. Передача дополнительных параметров от Б к В и Г
2. Обновление А из Г
3. Вынос работы Б, В, Г в отдельную dll и организация обмена данными с А

Как есть у меня сейчас:
1. использую IAsyncResult.State для передачи структуры, в которую упаковываю все что мне нужно
2. использую this.Dispatcher.BeginInvoke(delegate{...});
3. планировал сделать ViewModel для страницы, которую и обновлять из Г. Вопрос, как сказать UI что пора перегрузится и забрать все данные из ViewModel.

Буду благодарен за ваши рецепты приготовления этой каши. А то мой вариант мне не кажется достоаточно красивым и удобным)
  • Вопрос задан
  • 2674 просмотра
Пригласить эксперта
Ответы на вопрос 1
@codecity
мы вынуждены делать все вызовы «очень» многопоточными

Хорошо заметили. Все было бы намного проще, если бы MS позволили самим решать где применять многопоточность… А раз пошли по такому пути — то и далее нужно усложнять, а именно использовать Reactive Extensions.

То есть если хотите, чтобы все было архитектурно правильно, как задумали MS, то изучите Rx. Но предупреждаю — на их изучение уйдет минимум неделя + готовьтесь к смене парадигмы мышления.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы