Я обновляю большое количество элементов в библиотеках SharePoint. я думал использовать многопоточность для увеличения производительности, но когда я применяю многопоточность, это дает мне исключения: удаленный сервер возвратил ошибку: (401) неавторизованный объект и ссылка на объект не установлена для экземпляра объекта. Исключения не согласованы.
, но Тот же блок кода без многопоточности работает нормально и не дает никаких исключений.
Я пробовал 2 разных подхода, как указано ниже :
Первый подход:
List<Action> actionsArray = new List<Action>();
foreach(var dataRow in dataRows)
{
actionsArray.Add(new Action(() => BulkDeclareRecordsLibrary(libraryUrl, scope, LabelName, ignoreLibDefaultLabel)));
}
Action[] actionArray = actionsArray.ToArray();
Parallel.Invoke(new ParallelOptions { MaxDegreeOfParallelism = 2 }, actionArray);
Второй подход:
Parallel.For(0,dataRows.Count(), new ParallelOptions { MaxDegreeOfParallelism = 2},
i =>
{
BulkDeclareRecordsLibrary(libraryUrl, scope, LabelName, ignoreLibDefaultLabel)
}
Пожалуйста, дайте мне знать, если у кого-то есть Любая идея об этом.