В этой главе мы рассмотрим одну из наиболее распространенных задач SharePoint, а именно взаимодействие с различными источниками данных, такими как списки или библиотеки документов. Отличительной особенностью SharePoint является то, что у вас есть несколько вариантов взаимодействия с данными. Некоторые примеры: объектная модель сервера, объектная модель на стороне клиента, службы REST и т. Д.
Прежде чем вы сможете что-то сделать с SharePoint программным способом, вам нужно установить соединение и контекст с вашим сайтом SharePoint. Однако для этого нам нужен SharePoint on Premises, который можно установить на Windows Server.
Вам необходимо добавить ссылку в вашем проекте в Microsoft.SharePoint.dll или Microsoft.SharePoint.Client.dll . С соответствующими ссылками, добавленными в ваш проект, вы можете начать устанавливать контекст и код в этом контексте.
Давайте посмотрим на простой пример.
Шаг 1 — Откройте Visual Studio и создайте новый проект из меню Файл → Создать → Проект .
Шаг 2 — Выберите Windows из Шаблонов → Visual C # на левой панели и выберите Консольное приложение на средней панели. Введите название вашего проекта и нажмите ОК.
Шаг 3. После создания проекта щелкните правой кнопкой мыши проект в обозревателе решений и выберите « Добавить» → «Ссылки» .
Шаг 4 — Выберите Сборки → Расширения на левой панели, проверьте Microsoft.SharePoint на средней панели и нажмите OK.
Теперь снова щелкните правой кнопкой мыши проект в обозревателе решений и выберите «Свойства».
Шаг 5 — Щелкните вкладку Build на левой панели и снимите флажок Prefer 32-bit .
Шаг 6 — Теперь вернитесь к файлу Program.cs и замените его следующим кодом.
using Microsoft.SharePoint; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace SharePointData { class Program { static void Main(string[] args) { using (var site = new SPSite("http://waqasserver/sites/demo")) { var web = site.RootWeb; Console.WriteLine(web.Title); var lists = web.Lists; foreach (SPList list in lists) { Console.WriteLine("\t" + list.Title); } Console.ReadLine(); } } } }
Примечание. В приведенном выше коде сначала создается новый объект SPSite. Это одноразовый объект, поэтому он создается в операторе using. Конструктор SPSite принимает URL-адрес семейства сайтов, который в вашем случае будет другим.
Var web = site.RootWeb получит корень семейства сайтов.
Мы можем получить списки, используя web.Lists и напечатать заголовок пунктов списка.
Когда приведенный выше код скомпилирован и выполнен, вы увидите следующий вывод: