Мне нужно прочитать Общие документы со всех сайтов/подсайтов Sharepoint в моем приложении консоли, которые будут запускаться на том же компьютере, на котором установлен Sharepoint, но он будет основан на .Net Framework 4.0. Я полагаю, что Sharepoint Server Objects основано на Framework 3.5, поэтому я придумал идею создания собственного веб-сервиса, который читает и возвращает список документов. Я создал свою службу как упоминание в this blog, и она отлично работает. Вот мой код для чтения документов в одном из моих методов веб-службы.Прочитайте общие документы из Sharepoint 2010 в приложении .Net Framework 4.0
SPWebApplication webApp = SPContext.Current.Site.WebApplication;
#region Traverse all sub sites
foreach (SPSite subSite in webApp.Sites)
{
using (SPWeb sWeb = subSite.OpenWeb())
{
foreach (SPList list in sWeb.Lists)
{
if (list.BaseType == SPBaseType.DocumentLibrary &&
list.Hidden == false && list.BaseTemplate == SPListTemplateType.DocumentLibrary &&
list.Title.Equals("Style Library", StringComparison.InvariantCultureIgnoreCase) == false &&
list.Title.Equals("Site Assets", StringComparison.InvariantCultureIgnoreCase) == false)
Но как только я достигаю на следующую строку "Еогеасп (список SPList в sWeb.Lists)" это бросить исключение типа "'System.Threading.ThreadAbortException'"
Даже если я попытаюсь получить количество списков выше этого цикла foreach sWeb.Lists.count, он все равно выдает то же исключение. Пожалуйста, помогите мне, что я делаю неправильно здесь?
Не все ли готовые веб-службы делают то, что вы хотите? –
Кроме того, вы должны спросить по http://sharepoint.stackexchange.com –
Стив, что вы подразумеваете под «из-за бота веб-сервисов»? Вы имеете в виду услуги, которые созданы в фонде Sharepoint? – user1455675