При разработке моего бесплатного инструмента для загрузки больших файлов на сервер я также использую .NET 2.0 и веб-службы.
Чтобы сделать приложение более устойчивым к ошибкам для очень больших файлов, я решил не загружатьодин большой массив byte[]
, но вместо этого выполняется загрузка по частям.
Т.е. для загрузки файла размером 1 МБ я вызываю функцию SOAP загрузки 20 раз, каждый вызов передает массив byte[]
размером 50 КБ.и снова объединяю его на сервере.
Я также считаю пакеты, когда один падает, я пытаюсь загрузить его снова несколько раз.
Это делает загрузку более устойчивой к ошибкам и более отзывчивой в пользовательском интерфейсе.
Если вам интересно, это статья CP инструмента .