我在 SharePoint 2010 工作,我想从当前的spweb获取500000个“公告”列表项。我有服务器超时问题,代码如下。
SPList list = web.Lists["Announcements"];
SPQuery query= new SPQuery();
query.Query = "<Where><And><Geq><FieldRef Name=\"ID\" /><Value Type=\"Counter\"> 1</Value></Geq><Leq><FieldRef Name=\"ID\" /><Value Type=\"Counter\">500000 </Value></Leq></And></Where>";
query.RowLimit = 500000;
SPListItemCollection items = list.GetItems(query);
DataTable dt = items.GetDataTable(); //Here I get the timeout error.
如何解决此问题?
答案 0 :(得分:0)
SharePoint的最佳实践明确指出视图中不应包含大约2000行。
最佳实践还指出,以编程方式提取列表项应一次限制为大约10,000行。
这篇文章有助于为列表设置合理的限制: