#asp.net #wcf
#asp.net #wcf
Вопрос:
Я создал веб-службу WCF, которая передает zip-файл размером 200 мб. Может ли кто-нибудь, пожалуйста, посоветовать мне, как я могу прочитать этот поток на своем клиенте, а затем предоставить пользователю возможность загрузить это
Спасибо
Комментарии:
1. Можете ли вы предоставить более подробную информацию о «клиентской» части приложения?
2. спасибо за ответ. Сервис и клиент созданы в .net 2008. Я создал прокси-сервер, и я могу вызвать свой метод, который возвращает объект stream, но как мне прочитать этот поток и предоставить пользователю возможность его загрузить. Service1Client obj = новый Service1Client(); string[] IDs= новая строка[]{}; StreamReader reader = новый StreamReader(obj.GetCoverScan(IDs)); Этот файл, который я транслирую, уже является zip-файлом
Ответ №1:
Если ваш клиент является asp.net сайт, почему бы просто не использовать обработчик ashx? Задайте mime-тип application/x-zip и установите ResponseStream обработчика в поток zip-файла.
Комментарии:
1. спасибо за ответ, Ну, у меня есть простой обработчик ashx, который вызывает мою службу WCF. но я затрудняюсь прочитать поток. Не могли бы вы, пожалуйста, предоставить мне какой-нибудь код
2. На самом деле, вам нужен двоичный считыватель, чтобы вы могли читать массивы байтов.
3. но если я прочитаю его в массив байтов, то не думаю, что смогу получить все преимущества потоковой передачи. Пожалуйста, сообщите
4. Вы читаете его фрагментами внутри цикла while. Вы предлагаете inf для загрузки через обработчик ashx или другим способом?
5. я делаю это в обработчике ashx