Ниже приведен фрагмент кода, я довольно много нового SharepointФайл не получает удален из библиотеки Sharepoint
using (SPSite site = new SPSite(spSiteGUID))
{
using (SPWeb web = site.OpenWeb(spWebGUID))
{
SPList list = web.Lists["Folder Name"];
string sQuery = "<Where><BeginsWith><FieldRef Name='NameOrTitle'/><Value Type='Text'>" + fileName + "</Value></BeginsWith></Where>";
var oQuery = new SPQuery();
oQuery.Query = sQuery;
oQuery.ViewAttributes = @"Scope='Recursive'";
SPListItemCollection collListItems = list.GetItems(oQuery);
foreach (SPListItem oListItem in collListItems)
{
//file.UndoCheckOut();
//file.CheckOut();
oListItem.File.UndoCheckOut();
oListItem.File.CheckOut();
oListItem.Delete();
}
}
Предназначен файл для удаления становится идентифицирован. Все работает нормально до последней строки, которая является oListItem.Delete(); , oListItem содержит правильное имя файла, но по какой-то причине удаление не происходит. Я не вижу никаких ошибок. Я очень новичок в sharepoint, поэтому не могу много добавить к этому сообщению.
В вашем подходе есть один большой недостаток. Сначала вы инициализируете 'collListItems' со всеми ListItems списка. Вы снова запрашиваете, чтобы один и тот же список ListItem возвращался из SP с помощью 'GetItemById()'. Поэтому каждый ListItem запрашивается дважды, прежде чем фактически будет удаляться, и время для всего процесса также будет возрастать экспоненциально. – Piyush