Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[3.137.157.45] |
|
Сообщ.
#1
,
|
|
|
На веб-сервис из .net-приложений требуется передавать большие объемы бинарных данных. При этом данные перекодируются в base64, что увеличивает их размер.
Можно ли как то организовать передачу данных Web-сервису без перекодировки в Base64 или для подобных задач необходимо использовать Remouting? |
Сообщ.
#2
,
|
|
|
Цитата *null @ Можно ли как то организовать передачу данных Web-сервису без перекодировки в Base64 или для подобных задач необходимо использовать Remouting? Ну ведь веб-сервис по определению работает через http протокол отсюда и твоя перекодировка. Если есть возможность писать и сервер и клиент на .NET то оптимальным выбором будет Remoting, настроенный на работу по протоколу TCP в связке с бинарным форматером данных. Как вариант оптимизации работы в твоем случае, могу предложить следующую схему работы: Перед отправкой данных веб службе они сжимаются (встроенными средствами архивирования .NET или ZipLib), после приема перед их обработкой производится декомпрессия. В случае текста это приносит колосально большой эффект, но в твоем случае зависит от тех бинарных данных, что ты отсылаешь. |
Сообщ.
#3
,
|
|
|
Спасибо, juice!
Что касается оптимизации с предварительным сжатием данных - такой вариант сейчас и используется. Сжатые данные преобразуются в base64, что сводит на нет уменьнение размера после сжатия, но хотя бы обычно компенсирует (sizeof(binary_data) почти равнен sizeof(Base64(compressed_binary_date))). Но ведь http не требует обязательной перекодировки данных в base64 и по нему вполне можно передавать бинарные данные как вложения, например: Content-Type: image/jpeg Content-Transfer-Encoding: binary ... бинарные данные ... Вот меня и интересует, как можно организовать такое взаимодействие с Web-серивсами. |
Сообщ.
#4
,
|
|
|
Посмотри возможно поможет: http://msdn2.microsoft.com/en-us/library/ms996944.aspx http://msdn2.microsoft.com/en-us/library/Aa480488.aspx ведь вебслужбы это СОАП а это в свою очередь стандарт который описывает передачу данных в XML (текст) в заголовках HTTP пакетов. По линкам пару статей описывающих передачу бинарных вложений посредством SOAP.
|
Сообщ.
#5
,
|
|
|
Спасибо, попробую разобраться.
|
Сообщ.
#6
,
|
|
|
Я не думаю, что ты разберёшься.
BreakPointMAN бы разобрался обязательно. |