gpt4 book ai didi

sharepoint - 如何从启用了限制的大列表中获取?

转载 作者:行者123 更新时间:2023-12-04 22:37:20 26 4
gpt4 key购买 nike

我们有一个包含 50.000 个项目的 SharePoint 列表,并希望从中获取一些数据而不禁用 SP2010 的默认限制。

来自 MSDN关于处理大型列表,我们认为关键因素是在 SPQuery 上使用一个小的 RowLimit,并使用 ListItemCollectionPosition 进行批处理。

但是,对于我们这样的代码(某些东西),仍然会触发限制异常:

SPQuery query = new SPQuery();
query.Query = "<Where><Contains><FieldRef Name=\"MatterName\" /><Value Type=\"Text\">7476922</Value></Contains></Where>";
query.ViewFields = "<FieldRef Name=\"MatterName\"/>";
query.RowLimit = 10;

int index = 0;
do
{
SPListItemCollection batch = mattersList.GetItems( query );

query.ListItemCollectionPosition = batch.ListItemCollectionPosition;
}
while ( query.ListItemCollectionPosition != null );

根据 SharePoint Connections 2010 的 MVP 专家的说法,这是设计使然,因为结果集上的隐式排序仍会触发 5000 项限制阈值。

哪个很好,但是我们如何从这个列表中获取呢?会使用 ContentIterator是更好的选择?如果是这样,内容迭代器为实现这一目标而发挥的魔力是什么?

最佳答案

您可以使用:

query.QueryThrottleMode = SPQueryThrottleOption.Override;

通过以 super 用户身份执行查询。

http://adicodes.com/sharepoint-2010-list-throtelling/

关于sharepoint - 如何从启用了限制的大列表中获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3833475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com