编组list时的预定义容量<>在WCF

本文关键字:WCF 容量 预定义 list 编组 | 更新日期: 2023-09-27 17:50:17

我正在使用WCF和一个'ref'参数编组一个列表,我希望能够设置容量。

一些背景知识。我正在使用ref编组2个列表,以便调用函数可以通过在调用之前初始化来确定它感兴趣的列表。

因此,对null的快速测试使服务能够对列表执行一些操作。

但我想;我知道列表中将有100~项,所以设置初始容量是个好主意,但是当我在调用函数中这样做时,它在WCF服务中被设置回0。

什么线索吗?

谢谢长久地。编辑:想想看——这确实很有意义,不是吗?任何从设置初始容量中分配的资源都必须(浪费地)编组,然后重新水合/分配。

我认为第二个参数的大小或硬编码是有序的

编组list时的预定义容量<>在WCF

WCF按值传递所有数据。它从不通过引用传递值。集合作为数组传输,因此除了包含的数据外,不会传输其他信息。标记为refout的参数仅定义了传递参数的方向,并指示代理用反序列化的数据填充现有实例(在ref的情况下)。

如果你想传输一些信息,比如容量,你必须在单独的参数中传输它,并在服务中使用它来限制返回数据的数量。