У нас есть веб-сервис WSE3 ASP.Net, который определяет метод GetFileContent(string fileName)
. То, что он делает, это проверить предопределенный путь для файла с переданным именем, прочитать его содержимое, закодировать base64 и отправить этот закодированный материал обратно в качестве ответа.Перенос файлов через ASP.Net webservice очень медленный
К сожалению, весь процесс занимает (меняется) возраст. Я написал консольное клиентское приложение, которое оценивает производительность по требованию: Иногда 2.5Megs переносятся в течение 12 секунд, иногда это занимает 40. Еще один 27-мегабайтный файл пробил через 16 секунд вчера, сегодня потребовалось> 1 мин.
Другие вещи, которые я проверил:
процессора и производительность подкачки не стоит упомянуть (о мониторинге, машина выглядит скучно)
скорость сети достаточна.
Вызов метода выполняется сразу после того, как клиент отправил запрос.
Чтение и кодирование занимает в среднем 500 мс для большого файла, так что оператор return также выполняется сразу после запроса.
Другой клиент (на основе Java) еще медленнее, поэтому я думаю, что это может быть проблемой.
Есть ли у кого-нибудь идеи, где искать рядом с этим неприятным? Ощущается как проблемы IIS, на самом деле ...
спасибо заранее ...
Можете ли вы рассказать о настройке .. Использование веб-службы для файлов tranferring будет всегда медленным. Может быть, вы можете размещать файлы в ftp, а затем клиенты могут скачать его там. – Mahesh
Можете ли вы обновить свой вопрос с примером кода, который вы используете System.IO? – RameshVel
Привет Махеш, к сожалению, вся установка очень сложная и не может быть изменена. Сервер - это IIS6, работающий на сервере Win2003 (64 бит), тестовый клиент запускает WinXP SP3 и находится в одной сети (не через Интернет). –