Как передать большой файл с помощью WCF - PullRequest
6 голосов
/ 21 августа 2009

Мне нужно передать большие файлы Excel через службу WCF. Наш проект требует генерации некоторых отчетов для клиентов, и мы используем Excel для генерации отчетов.

В настоящее время в проекте используется привязка net.tcp, но мы рассматриваем возможность перехода на http-привязку.

Я прочитал еще один пост на SO о передаче больших изображений и ответы на все предложенные с использованием потоковой передачи. Однако мне интересно, какой лучший подход будет рассматривать его в виде файла Excel. Размеры файлов иногда могут приближаться к ~ 10 МБ.

Ответы [ 2 ]

7 голосов
/ 21 августа 2009

Да, потоковая будет работать TCP или HTTP - вы должны использовать его. Использование потоковой передачи избавит от необходимости иметь большие буферы в памяти, содержащие весь файл одновременно. Это увеличит масштабируемость вашего приложения.

2 голосов
/ 21 августа 2009

Как говорит JP, потоковая передача - это хороший вариант, я бы вообще рекомендовал пойти на это. Книга «Essential Windows Communication Foundation» предполагает, что если вам нужен надежный обмен сообщениями, цифровые подписи или возобновление после сбоя, тогда другой вариант - вручную разбить данные на небольшие сообщения и затем восстановить их на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...