Возврат байта [] в сервисе WCF

Действительно ли это - хорошая практика для возврата байта [] в сервисе WCF, который будет вызван многими приложениями

ниже код

public byte[] GetDoc(string docParam)
{
    byte[] doc;
    doc = GenerateDoc(docParam);
}

Спасибо

6
задан Anders Abel 21 May 2010 в 19:45
поделиться

3 ответа

Хорошей практикой является объединение общего кода в удобный метод, чтобы многие вызывающие могли вызвать этот удобный метод. Это не зависит от типа возврата. Если вызывающим потребуется манипулировать byte[], то это может стать удобным и устранить избыточный код.

Кстати, что касается кода, который вы выложили, это реальный код или просто пример? Если это реальный код:

  1. Он не скомпилируется, потому что не возвращает byte[].
  2. Если бы вы вызвали return doc; в качестве последней строки, то почему GenerateDoc() находится внутри GetDoc()? GetDoc() не дает никакой реальной пользы.
1
ответ дан 17 December 2019 в 18:10
поделиться

Он используется, когда вы хотите передать двоичный буфер, а также выполнить передачу больших данных с использованием кодирования MTOM (установлено в конфигурации привязки). Информация о том, как выполнить передачу больших данных , находится здесь .

0
ответ дан 17 December 2019 в 18:10
поделиться

Определенно возможно вернуть байт [] , и WCF позволяет делать это с использованием кодирования MTOM.

Если размер двоичного буфера большой, вы можете использовать потоковую передачу WCF . В этом случае вы должны вернуть тип данных Stream и читать из этого Stream на стороне клиента.

2
ответ дан 17 December 2019 в 18:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: