Большая часть кода, который я написал в .NET для выполнения вызовов REST, была синхронной. Поскольку Silverlight на Windows Phone поддерживает только асинхронные вызовы WebClient и HttpWebRequest, мне было интересно, какой хороший асинхронный шаблон для класса, который предоставляет методы, выполняющие вызовы REST.
Например, у меня есть приложение, которому нужно сделать следующее.
- Войти и получить токен
- Используя токен из #1, получить список альбомов
- Используя токен из #1, получите список категорий
- и т.д
мой класс предоставляет несколько методов:
- Авторизоваться()
- ПолучитьАльбомы()
- ПолучитьКатегории()
поскольку каждый метод должен вызывать WebClient с использованием асинхронных вызовов, мне нужно по существу заблокировать вызов входа в систему до тех пор, пока он не вернется, чтобы я мог вызвать GetAlbums().
Каков хороший способ сделать это в моем классе, который предоставляет эти методы?