Мне нужен код, который позволит мне узнать, когда завершился асинхронный поток.Это для моего приложения для Windows Phone, которое я делаю.Приложение представляет собой систему отслеживания автобусов, которая показывает прямые рейсы, и данные будут взяты с веб-страницы в Интернете.
У меня есть эта строка кода в моей функции GetDataFeed
// start the asynchronous request
IAsyncResult aResult = BusStopFeedRequest.BeginGetResponse(new AsyncCallback(HandleFeedData), myState);
Это вызоветотключил мою HandleFeedData
функцию, которая сохранит исходный код веб-сайта в переменную текстовой строки.
Моя проблема заключается в том, что текстовое поле в моем телефонном приложении не заполняет содержимое строки, поскольку пока нет данных в строке,Это вызывается textbox1.Text = obj.GetText()
, который должен возвращать приватную строку в моем экземпляре класса.
Я рассмотрел использование aResult.AsyncWaitHandle.WaitOne()
и попытался опросить методы aResult.IsCompleted()
, но из того, что я прочитал и нашелЯ просто не работаю.WaitOne
выдает неожиданную ошибку, и опрос IsCompleted
находится в бесконечном цикле.
Кто-нибудь получил какие-либо сведения о том, что я могу сделать, чтобы моя функция могла ожидать асинхронный запросзавершить, чтобы он обновил переменную моего класса, чтобы мое текстовое поле могло видеть данные