Отправка части байтового массива по сети с использованием WCF

У меня есть байтовый массив некоторых двоичных данных, которые мне нужно отправить по сети, используя WCF и NetTcpBinding. Моя проблема в том, что мне нужно отправить только часть массива. Есть ли способ сделать это, кроме копирования этой части в отдельный массив и отправки этого. Это дополнительное копирование снижает производительность, и я хотел бы избежать этого, если это возможно.

13.10.2009 07:52:12
Если вы отправляете какие-либо данные по сети, они все равно будут скопированы несколько раз. Копирование части данных в пользовательском пространстве текущего процесса должно вызывать минимальные издержки по сравнению со всем остальным. Вы измерили, действительно ли это накладные расходы?
elder_george 13.10.2009 07:56:27
1 ОТВЕТ

По всей вероятности, снижение производительности операции копирования будет незначительным в контексте вызова WCF.

Используйте Array.Copy, который, кажется, работает очень хорошо.

0
13.10.2009 08:01:17
Мне было интересно, как WCF отправляет List <byte>, например. Список <byte> содержит массив байтов. Отправляет ли он весь байтовый массив или только количество байтов, фактически использованных в списке (емкость или число). Мне нужно что-то подобное.
user188921 13.10.2009 08:20:50
Вы не собираетесь повышать производительность, используя более абстрактный класс коллекции - ему все равно придется выполнять операции копирования массива внутри.
d91-jal 13.10.2009 08:42:12