Я использую функцию Webclient.UploadFileAsync
для вызова веб-службы отдыха для загрузки файлов на сервер. Загрузка на сервер также может быть выполнена из веб-приложения.Как увеличить скорость работы Webclient.UploadFileAsync?
Обработка на стороне сервера в миллисекундах. Таким образом, большая часть времени загрузки тратится на транспорт. Я могу загрузить файл 6.28 МБ из веб-приложения за 2 минуты. Но такая же загрузка, если это делается из моего приложения winform с использованием Webclient.UploadFileAsync
, занимает 3 минуты.
Разница между загрузкой веб-браузера & Загрузка webservice заключается в том, что первый непосредственно сохраняет файл на сервер, а в случае веб-сервиса сначала вызывается веб-сервис, а затем файл сохраняется на сервере.
Итак, в чем причина такой огромной разницы в скорости? И как можно уменьшить эту разницу?
Обновление: Я попытался использовать скрипач, как было предложено, и нашел интересную вещь. Когда я загрузил файл, в то время как скрипач работал, я получил огромное улучшение скорости загрузки. Закройте скорость веб-приложения. И, когда Я попытался загрузить, когда скрипач не работал, у меня очень медленная скорость загрузки, как и раньше. Так что, похоже, ошибка в классе webclient. Как мне обойти эту проблему?
Попробуйте использовать некоторые средства трассировки сети, такие как Fiddler и WireShark, чтобы определить, что происходит на сетевом уровне. – leetibbett