Я недавно что-то реализовал в Silverlight.
В основном использует HttpWebRequest для отправки фрагмента данных в GenericHandler.
В первом сообщении отправлено 4 КБ данных. На втором блоке я отправляю еще один блок 4K.
Когда 2-й блок получен, я вычисляю, сколько времени прошло между первым и 2-м блоком, и теперь
3-й блок при отправке будет знать, как увеличить скорость.
Используя этот метод, я могу загружать файлы ЛЮБОГО размера и я могу возобновить.
Каждый пост, который я отправляю вместе с этой информацией:
[ПАРАМЕТРЫ]
[FILEDATA]
Здесь параметры содержат следующее:
[Чанк №]
[Имя файла]
[ID сессии]
После получения каждого чанка я отправляю ответ на свой Silverlight, в котором говорится, как быстро он прошел, чтобы теперь он мог отправлять больший объем
Кусок.
Трудно представить мои объяснения без кода, но в основном я так и сделал.
В какой-то момент я соберу краткое описание того, как я это сделал.