2016-09-09 8 views
0

Я использую функцию Webclient.UploadFileAsync для вызова веб-службы отдыха для загрузки файлов на сервер. Загрузка на сервер также может быть выполнена из веб-приложения.Как увеличить скорость работы Webclient.UploadFileAsync?

Обработка на стороне сервера в миллисекундах. Таким образом, большая часть времени загрузки тратится на транспорт. Я могу загрузить файл 6.28 МБ из веб-приложения за 2 минуты. Но такая же загрузка, если это делается из моего приложения winform с использованием Webclient.UploadFileAsync, занимает 3 минуты.

Разница между загрузкой веб-браузера & Загрузка webservice заключается в том, что первый непосредственно сохраняет файл на сервер, а в случае веб-сервиса сначала вызывается веб-сервис, а затем файл сохраняется на сервере.

Итак, в чем причина такой огромной разницы в скорости? И как можно уменьшить эту разницу?

Обновление: Я попытался использовать скрипач, как было предложено, и нашел интересную вещь. Когда я загрузил файл, в то время как скрипач работал, я получил огромное улучшение скорости загрузки. Закройте скорость веб-приложения. И, когда Я попытался загрузить, когда скрипач не работал, у меня очень медленная скорость загрузки, как и раньше. Так что, похоже, ошибка в классе webclient. Как мне обойти эту проблему?

+0

Попробуйте использовать некоторые средства трассировки сети, такие как Fiddler и WireShark, чтобы определить, что происходит на сетевом уровне. – leetibbett

ответ

0

Я не могу добавлять комментарии из-за моей репутации, так что извините за то, что вы надеетесь заранее, но, похоже, вам нужно пройти промежуточное программное обеспечение, так что общее время загрузки увеличивается, если это не так важно, и у вас есть правильные инструменты для этого, есть много FTP-клиентов и библиотек, которые могут это сделать, и, вероятно, быстрее, чем скорость вашего веб-сервера. Хотя, если вам требуется пройти через веб-сервер, у меня не было бы большого количества ответов, кроме, возможно, использования внешнего веб-клиента, который может может быть работать немного быстрее.

Таким образом, чтобы ответить на ваш вопрос, использование защищенной библиотеки FTP, скорее всего, будет быстрее, а разница в скорости будет в основном из-за промежуточного программного обеспечения, которое вы должны пройти, прежде чем навести на себя фактический сервер.

Смежные вопросы