Windows Phone 7 Асинхронный метод нескольких вызовов - PullRequest
1 голос
/ 18 марта 2012

Я работаю над методом, который выполняет некоторую задачу асинхронно.

Давайте назовем его: AsyncMethod ();

Вызывающий класс подписывается на событие AsyncMethodCompleted, которое «отправляет» аргументы события срезультат запроса обратно в класс, который вызвал запрос AsyncMethod ().

Теперь моя проблема в том, что мой AsyncMethod иногда вызывается более одного раза для извлечения данных, и время, которое AsyncMethod занимает для завершения, можетВ некоторых случаях мои подписчики могут получать данные, которые они не запрашивали.

Поэтому мой вопрос заключается в том, есть ли способ отличить результаты так, чтобы классы моих подписчиков реагировали на результат только в том случае, если результат соответствует их запросу.

1 Ответ

1 голос
/ 18 марта 2012

Вы должны либо использовать отдельный экземпляр класса для каждого вызова, либо заменить событие обратным вызовом, переданным методу.

Или, что еще лучше, вместо этого используйте Task<T>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...