Предопределенная емкость при сортировке списка <> в WCF - PullRequest
0 голосов
/ 17 апреля 2011

Я пишу список с помощью WCF и параметра 'ref', и я хочу иметь возможность установить емкость.

Некоторый фон.Я делаю 2 списка, используя ref, чтобы вызывающая функция могла определить, какой список ей интересен, путем инициализации до вызова.

Таким образом, быстрый тест на ноль позволяет службе что-то делать со списком.Все это прекрасно работает.

Но я подумал;Я знаю, что в списке будет около 100 элементов, поэтому установка начальной емкости - это хорошая идея, но когда я делаю это в вызывающей функции, для службы WCF устанавливается значение 0.

Любые подсказки?

Большое спасибо.

РЕДАКТИРОВАТЬ: Думая об этом - это имеет огромное количество смысла делает это.Любые выделенные ресурсы от установки начальной емкости должны быть (расточительно) упорядочены, а затем повторно гидратированы / распределены.

Я думаю, что второй параметр с размером или просто жестким кодированием - в порядке.

1 Ответ

2 голосов
/ 17 апреля 2011

WCF передает все данные по значению.Он никогда не передает значения по ссылке.Коллекции передаются как массивы, поэтому никакая дополнительная информация, кроме содержащихся данных, не передается.Параметры, помеченные как ref и out, определяют только то, в каком направлении передается параметр, а также дают указание прокси заполнить существующий экземпляр десериализованными данными (в случае ref).

Если вы хотите передать некоторыетакую ​​информацию, как емкость, вы должны передать в отдельный параметр и использовать в сервисе для ограничения количества возвращаемых данных.

...