ax2012,ax2009: как правильно передать 100500 элементов коллекции через WCF?
Сразу скажу, что решение есть, конечно.
Хотелось бы обсудить вопрос как лучше и как правильно
для простоты предположим, что есть две аксапты, в которых есть WCF
мне кажется, что все равно какой версии, но если для ваших рассуждений важно, то зафиксируйте в своих рассуждениях версию.
в одной аксапте (назовем ее клиентом) есть огромная коллекция очень важных данных. коллекция - список/массив/мап/контейнер/таблица
как передать эти данные в другую Аксапту (назовем ее сервером) через WCF?
передавать по одном элементу - слишком много накладных расходов. кроме того, аксапта-сервер будет создавать неявную транзакцию для каждого элемента. что медленно.
передавать всю коллекцию - в момент передачи все это богатство превратится в XML и разрвет все внутренние буфера.
делить на чанки и передавать чанками по несколько сотен элементов - надо возиться и тоже никакой гарантии, что не разорвет внутренние буфера.
наверное было бы идеально передавать в какой-нибудь метод элементы коллекции, а WCF сам бы делил на чанки исходя из своих внутренних резервов. Но я не знаю такого метода.
в общем,
как правильно передать 100500 элементов коллекции через WCF?
ЗЫ
а может где-нибудь еще есть такое? не только в WCF...
|