Максимальный размер запроса CAML SharePoint - PullRequest
3 голосов
/ 07 марта 2011

Я выполняю caml-запрос sharepoint, где хочу проверить, что поле элемента равно одному из многих значений.Я делаю это динамически и, возможно, захочу проверить многие сотни значений.

Я обнаружил, что при выполнении запроса с 780 элементами ИЛИ я получил ошибку, связанную с памятью сервера.Очевидно, что это переменная в разных средах, но я ищу некоторые рекомендации, предлагающие максимальную длину запроса, которую я должен ограничить.

Спасибо!

Ответы [ 2 ]

2 голосов
/ 08 марта 2011

Как насчет использования ContentIterator ?http://community.zevenseas.com/Blogs/Robin/Lists/Posts/Post.aspx?ID=122

Поддерживает рекурсию для обхода дерева предметов и воздействия на них каким-либо образом.Этот код «публикует все» в файлах библиотеки стилей, свойства FeatureId которых соответствуют определенному значению:

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;
    }));
1 голос
/ 09 марта 2011

Вы можете получить все папки по SPList.Folders, перебрать папки и отфильтровать их по любому ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...