Показывать индикатор выполнения в клиенте.NET CF из вызова веб-службы Java
У меня есть клиент веб-сервиса, созданный с компактной платформой 2, который вызывает веб-сервис Java. Веб-сервис возвращает байтовый массив размером всего 200 КБ, но в некоторых GPRS-соединениях он задерживается на несколько минут. Я хочу показать прогресс загруженных данных с помощью индикатора выполнения, но я не нашел ни одного примера. Кто-нибудь знает, как это сделать? Я нашел этот URL, но я думаю, что это не для клиентов CF.
http://msdn.microsoft.com/en-us/library/aa480520.aspx
Спасибо
1 ответ
Я верю, что вам придется самостоятельно следить за своим индикатором прогресса.
Если ваш вызов веб-службы java отправляет вам полный размер файла, вы можете установить для него значение ProgressBar Maximum, иначе у вас нет возможности узнать, какой процент от общего объема полученного вами блока данных составляет.
Это понятно?
Обновить:
В размещенной вами ссылке количество данных, полученных в каждом чанке, определяется в строке *:
int bytesRead
= m_oldStream.Read(m_bufferIn,
0,
m_readSize);
Это будет сумма, которую вы увеличиваете ProgressBar
Значение
Отказ от ответственности: я не тратил много времени на просмотр кода в ссылке, которую вы предоставили, и мой быстрый анализ этого может быть неправильным.