У меня есть простой вопрос. Я должен возвратить массив байтов, или просто base64 кодируют мои двоичные данные при представлении его через веб-сервис в.NET? Есть ли любые профессионалы/недостатки с любым методом, который главным образом поддерживается и т.д.
Использовать байтовый массив. По протоколу SOAP этот массив байтов будет автоматически сериализован с использованием кодировки base64. Ваш веб-сервис также будет более наглядным, если вы будете использовать байтовый массив. Представьте себе человека, который хочет использовать вашу веб-службу и смотрит на метод, сигнатура которого выглядит так:
string GetBinaryImageFromDatabase();
Он может задаться вопросом, почему этот метод возвращает строку и что я собираюсь делать с этой строкой, а если он возвращает байт array намного понятнее.
Я видел метод веб-службы, который выглядел следующим образом:
string SaveCustomer(string customer);
Угадайте, что это были за клиент
и возвращаемые типы: это был какой-то проприетарный XML. Нет абсолютно никакого смысла использовать SOAP, если люди заново изобретают протоколы поверх него.
Одно из соображений заключается в том, что строка в кодировке Base64 позволяет использовать «Тестовую форму» для отладки любых проблем и т. Д. Массив байтов представляет собой сложный тип. поэтому тестовая форма работать не будет.