На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
  
> Передача Web-сервису бинарных данных без перекодировки в base64 , Возможно ли такое?
    На веб-сервис из .net-приложений требуется передавать большие объемы бинарных данных. При этом данные перекодируются в base64, что увеличивает их размер.

    Можно ли как то организовать передачу данных Web-сервису без перекодировки в Base64 или для подобных задач необходимо использовать Remouting?
      Цитата *null @
      Можно ли как то организовать передачу данных Web-сервису без перекодировки в Base64 или для подобных задач необходимо использовать Remouting?

      Ну ведь веб-сервис по определению работает через http протокол отсюда и твоя перекодировка. Если есть возможность писать и сервер и клиент на .NET то оптимальным выбором будет Remoting, настроенный на работу по протоколу TCP в связке с бинарным форматером данных. Как вариант оптимизации работы в твоем случае, могу предложить следующую схему работы: Перед отправкой данных веб службе они сжимаются (встроенными средствами архивирования .NET или ZipLib), после приема перед их обработкой производится декомпрессия. В случае текста это приносит колосально большой эффект, но в твоем случае зависит от тех бинарных данных, что ты отсылаешь.
        Спасибо, juice!

        Что касается оптимизации с предварительным сжатием данных - такой вариант сейчас и используется. Сжатые данные преобразуются в base64, что сводит на нет уменьнение размера после сжатия, но хотя бы обычно компенсирует (sizeof(binary_data) почти равнен sizeof(Base64(compressed_binary_date))).

        Но ведь http не требует обязательной перекодировки данных в base64 и по нему вполне можно передавать бинарные данные как вложения, например:
        Content-Type: image/jpeg
        Content-Transfer-Encoding: binary
        ...
        бинарные данные
        ...

        Вот меня и интересует, как можно организовать такое взаимодействие с Web-серивсами.
          Посмотри возможно поможет: http://msdn2.microsoft.com/en-us/library/ms996944.aspx http://msdn2.microsoft.com/en-us/library/Aa480488.aspx ведь вебслужбы это СОАП а это в свою очередь стандарт который описывает передачу данных в XML (текст) в заголовках HTTP пакетов. По линкам пару статей описывающих передачу бинарных вложений посредством SOAP.
            Спасибо, попробую разобраться.
              Я не думаю, что ты разберёшься.
              BreakPointMAN бы разобрался обязательно.
              0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
              0 пользователей:


              Рейтинг@Mail.ru
              [ Script execution time: 0,0236 ]   [ 16 queries used ]   [ Generated: 6.05.24, 09:04 GMT ]