Вероятно, вы сэкономите много времени и душевных страданий, просто интегрировав этот проект загрузки файлов Silverlight codeplex в свое приложение.
Фактически вы не можете получить хорошую информацию о прогрессе изстандартные WebRequest
или WebClient
компоненты.Мало того, что они не отправляют какой-либо поток запросов, пока ваш код не завершит запись в него (решение, которое я не могу понять), он не предоставляет никаких событий прогресса, как только он начинает отправлять его.По причинам, которые я не могу понять, вы можете получать события прогресса при отправке строки, см. Рисунок.
Я могу только догадываться, что эти ограничения возникают из-за необходимости Silverlight работать в нескольких браузерах и, следовательно, интерфейса кHTTP-браузер для браузера поддерживается как можно более простым.