Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Распределённые приложения и сеть > Передача нескольких типов


Автор: starostin 15.9.2011, 09:35
Не знаю как точнее это описать, в общем один из методов сервиса должен возвращать клиенту строку и два файла(оба врядли превышают 1мб). Я думаю, что это должно делаться потоком, но что то до меня не доходит как правильно открыть поток на сервисе, как в него запихнуть несколько разных файлов и как потом на клиенте разобрать поток.

Автор: ДобренькийПапаша 2.11.2011, 15:50
http://www.codeproject.com/KB/WCF/UploadlargeFilesWCFHTTP.aspx

Тут, вроде бы, описано как такое сделать.

И ещё:
http://stefanoricciardi.com/2009/08/28/file-transfer-with-wcp/

Автор: mihryak 28.11.2011, 15:01
стриминг - не всегда хорошее решение
http://channs.blogspot.com/search/label/chunking
советуют использовать http://msdn.microsoft.com/en-us/library/aa717050.aspx

у себя на проекте я побоялся его прикручивать, так как нужно было сделать простое и надёжное решение, без подводных камней, способных всплыть через какое-то время у клиентов
сам streaming сразу отпал, так как не лёг на нашу security-модель
реализовали chunking вручную: клиент запрашивает данные, сервер возвращает тикет, по которому клиент может за ними обращаться, потом клиент в цикле вызывает сервер и складывает из полученных кусочков целое
главный минус - множество запросов к серверу вместо одного (для нашего приложения это совсем не критично, но стоит всё равно иметь в виду)
главный плюс - решение крайне простое в реализации, универсальное (почти сразу применили его и в другом схожем месте) и переходе на него не потребовалось ничего менять (все вызовы сервера уже были вынесены в отдельный класс, так что со стороны клиента никто не заметил изменение реализации)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)