Получение данных списка SharePoint 2013 из размещенного приложения поставщика Sharepoint

Я создал размещенное приложение провайдера SharePoint 2013, используя Visual Studio. Он не использует веб-части. Мне нужно извлечь данные из списка SharePoint 2013, находящегося в семействе сайтов SharePoint. Я могу сделать это с помощью визуальной веб-части с помощью этого кода

 private DataTable GetItemDetails()
 {
      SPWeb spweb = SPContext.Current.Web;
      SPList ticketsList = spweb.GetList("[http://git-hub/sites/mysiteName/Lists/CalendarList/AllItems]");
      return ticketsList.Items.GetDataTable();
 }

Это дало мне таблицу предметов, и я использовал эту таблицу, чтобы получить необходимые данные. Но проблема в том, что теперь я хочу использовать те же данные, что и мое приложение SharePoint, которое состоит из страниц asp.net с кодом на C#. Я использовал тот же код, но он выдает ошибку вроде "

Microsoft SharePoint не поддерживается в 32-разрядном процессе. Пожалуйста, убедитесь, что вы работаете в 64-битном исполняемом файле."Даже я использую любую табличную форму в настройках сборки приложения. Пожалуйста, дайте мне знать, если каким-либо образом я могу получить данные списка на странице asp.net, чтобы показать пользователю их графики,

1 ответ

Вы также можете использовать объектную модель Managed client:

Uri hostWeb = new Uri(Request.QueryString["SPHostUrl"]);
        List<string> listOfUsers = new List<string>();


        using (var clientContext = TokenHelper.GetS2SClientContextWithWindowsIdentity(hostWeb, Request.LogonUserIdentity))
        {

            List oList = clientContext.Web.Lists.GetByTitle("TestList");

            CamlQuery camlQuery = new CamlQuery();
            camlQuery.ViewXml = "<View><Query><Where><Geq><FieldRef Name='ID'/>" +
                "<Value Type='Number'>0</Value></Geq></Where></Query><RowLimit>100</RowLimit></View>";
            Microsoft.SharePoint.Client.ListItemCollection collListItem = oList.GetItems(camlQuery);

            clientContext.Load(collListItem);

            clientContext.ExecuteQuery();

            foreach (Microsoft.SharePoint.Client.ListItem oListItem in collListItem)
            {
                listview.Add(string.Format("ID: {0} \nTitle: {1}", oListItem.Id, oListItem["Title"]));
            }

            ListList.DataSource = listOfUsers;
            ListList.DataBind();

        }
Другие вопросы по тегам