2011-04-16 32 views
0

我使用WCF和'ref'参数编组一个List,我希望能够设置容量。在WCF编组List <>时的预定义容量

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

因此,对null进行快速测试可使服务在列表中执行某些操作。这一切工作正常。

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

任何线索?

非常感谢。

编辑:思考它 - 这确实使它有很大的意义。从设置初始容量中分配的任何资源都必须(浪费)编组,然后再进行补充/分配。

我认为第二个参数的大小或只是硬编码是为了。

回答

2

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

如果您想传输容量等信息,您必须将其传输到单独的参数中,并在服务中使用它来限制返回的数据的数量。

相关问题