2013-09-27 7 views
1

Я создал приложение-провайдер SharePoint 2013, использующее визуальную студию. Он не использует веб-части. Я должен извлечь данные из списка SharePoint 2013, размещенного на сайте SharePoint collection.I можно сделать с помощью визуальной веб-части с помощью этого кодаИзвлечение данных списка 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, чтобы показать пользователю их расписания.

+0

Привет, я только что нашел решение этого вопроса с помощью моих коллег. Мы использовали веб-службу SharePoint Providing. Вот ссылка, чтобы получить веб-сервис. http://msdn.microsoft.com/en-us/library/lists.aspx Вот ссылка на очень полезный блог, в котором описывается, как использовать это http://sarangasl.blogspot.ca/2009/12 /sharepoint-list-web-service.html Спасибо. Надеюсь, это спасет кого-то. Поскольку мне потребовался день, чтобы добраться до этого результата. –

ответ

0

вы также можете использовать управляемый клиент объектной модели:

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(); 

     }