Поиск всех документов на сайте, которые заканчиваются определенным расширением, с использованием клиентской объектной модели Sharepoint 2010 - PullRequest
0 голосов
/ 08 сентября 2011

Я абсолютно новичок в программировании Sharepoint, поэтому мне нужно немного советов о том, как получить список всех документов, существующих на сайте Sharepoint, расширение которых соответствует передаваемому значению.


Справочная информация. В рамках слияния миллионы (7 ТБ) документов были импортированы в Sharepoint независимо от типа файла, просто чтобы мы могли получить эти данные, хранящиеся в закрытой системе.

В эти документы включены опасные типы файлов, такие как .exe и .dll, которые мы должны сохранить, но хотим предпринять надлежащие шаги, чтобы гарантировать, что вредоносные файлы этих типов не могут быть загружены напрямую.

Наш план состоит в том, чтобы извлечь каждый файл, соответствующий нашему списку поиска, заархивировать его, загрузить ZIP-файл и удалить оригинал. Для этого нам нужно одноразовое приложение.

На самом деле задействовано несколько сайтов - поэтому в идеале я хотел бы выполнить один запрос, чтобы получить доступ ко всем документам на всех сайтах (все они находятся под одним корнем, но у каждого из них есть свои собственные базы данных), но я в порядке с итерацией через множество сайтов.


Я думаю использовать клиентскую объектную модель Sharepoint, чтобы выполнить запрос к каждому сайту, чтобы вернуть мне список всех файлов данного типа. Я хочу что-то как

SharepointSite site = new SharepointSite(siteElement, settings.RootURL);
ClientContext clientContext = site.Context;
ListCollection listCollection = clientContext.Web.Lists;
clientContext.Load(listCollection, l=>l.Name.EndsWith(".exe"));
clientContext.Load(listCollection);
clientContext.ExecuteQuery();

но это определенно не так.

Как мне подойти к этой проблеме?

Ответы [ 2 ]

0 голосов
/ 16 сентября 2011

В конце концов, я создал прямой запрос к базе данных, чтобы получить конкретный список всех соответствующих документов без итерации по миллионам элементов, а затем смог использовать клиентские компоненты, чтобы получить именно тот файл, который я хотел.

0 голосов
/ 08 сентября 2011

Начните с базового кодирования в объектной модели клиента.Вам просто нужно перебрать сайты, их списки и затем их содержимое.

http://msdn.microsoft.com/en-us/library/ee857094.aspx

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