powered by simpleCommunicator - 2.0.28     © 2024 Programmizd 02
Map
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Передача файлов, в т.ч. больших
5 сообщений из 5, страница 1 из 1
Передача файлов, в т.ч. больших
    #39512690
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Приветствую, коллеги!
Как вообще передавать файлы при помощи веб-сервиса - уже разобрался: byte[] -> base64string.
Как передавать большие файлы ЗА РАЗ - тоже: увеличить размер сообщения в веб-конфиге И на стороне сервера, И на стороне клиента. Но считаю это костылём.

Подскажите, как ещё можно обмениваться большими файлами при использовании веб-сервиса и без использования файлообменников/FTP. В идеале - и без промежуточного сохранения на сервере, т.к. в конечном счёте эти файлы либо пишутся в БД (BLOB), либо извлекаются из БД для передачи потребителю сервиса. Чаще всего, это картинки/PDF/многостраничные TIFF, но возможны и другие потребности.
...
Рейтинг: 0 / 0
Передача файлов, в т.ч. больших
    #39512698
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КириллН, Large Data and Streaming
...
Рейтинг: 0 / 0
Передача файлов, в т.ч. больших
    #39512699
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Видел интересное решение с передачей файла по частям через серию вызовов веб-сервиса, но в этом случае надо промежуточно сохранять этот файл на диск на сервере.

Потребитель обращается к сервису для получения файла.
Сервис видит, что файл большой, сохраняет его частями на диск в папку с GUID-именем и отправляет потребителю GUID.
Потребитель серией запросов к сервису выкачивает все части.
Потребитель "склеивает" на своей стороне эти части.
Таким образом, и прогресс можно отобразить, и любого размера файлы передавать. но требуется сохранение сервисом на диск.

Если бы была возможность как-то хранить части файла в экземпляре объекта, а не на диске, и "дочитывать" его по мере передачи очередного фрагмента байт... А вот как - не знаю. Веб-сервис, насколько я понял, инстанцируется ИИСкой при каждом обращении потребителя. Значит, сам сервис не может хранить у себя части и должен обращаться к сторонней службе-читалке файлов (из базы)...
В общем, пока сложно понять.
...
Рейтинг: 0 / 0
Передача файлов, в т.ч. больших
    #39512701
Фотография Алексей К
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КириллНПодскажите, как ещё можно обмениваться большими файлами при использовании веб-сервиса и без использования файлообменников/FTP. Large Data and Streaming
КириллНВ идеале - и без промежуточного сохранения на сервере, т.к. в конечном счёте эти файлы либо пишутся в БД (BLOB), либо извлекаются из БД для передачи потребителю сервиса.При чтении из БД таки лучше создать на сервере временный файл на время передачи. Держать открытым DbDataReader пока клиент скачивает "много данных" как-то не очень.
...
Рейтинг: 0 / 0
Передача файлов, в т.ч. больших
    #39512761
КириллН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
buser Large Data and Streaming
Благодарю за ценную ссылку!

Алексей КПри чтении из БД таки лучше создать на сервере временный файл на время передачи. Держать открытым DbDataReader пока клиент скачивает "много данных" как-то не очень.
Ну, если best practices рекомендуют промежуточный файл, то так тому и быть. Спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Передача файлов, в т.ч. больших
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]