我正在运行一个SharePoint CAML查询,想要检查一个项目上的字段是否等于许多值中的一个。我动态地执行此操作,可能希望检查数百个值。
当我使用780个OR元素执行查询时,我发现出现了与服务器内存相关的错误。显然,这在不同环境下是可变的,但我正在寻找一些指导方针,建议我应该限制最大查询长度。
谢谢!
当我使用780个OR元素执行查询时,我发现出现了与服务器内存相关的错误。显然,这在不同环境下是可变的,但我正在寻找一些指导方针,建议我应该限制最大查询长度。
谢谢!
SPList styleLibrary = rootWeb.Lists.TryGetList("Style Library");
SPFolder folder = styleLibrary.RootFolder;
ContentIterator ci = new ContentIterator();
ci.ProcessFilesInFolder(
styleLibrary,
folder,
true,
new ContentIterator.FileProcessor((SPFile f) =>
{
// Check the FeatureId property the file's been "stamped" with
if (f.Properties.ContainsKey("FeatureId"))
{
if (String.Equals(f.Properties["FeatureId"] as string, featureId, StringComparison.InvariantCultureIgnoreCase))
{
if (f.Level == SPFileLevel.Checkout)
f.CheckIn(String.Empty, SPCheckinType.MajorCheckIn);
if (f.Level == SPFileLevel.Draft)
f.Publish("");
}
}
}),
new ContentIterator.FileProcessorErrorCallout((SPFile f, Exception Ex) =>
{
//Define the action I need to do if an error occur
return false;
}));
SPList.Folders
获取所有文件夹,遍历这些文件夹并按照需要进行筛选...