Сборник ошибок изменен, не может выполнить перечисление в списке sharepoint
Не знаю, почему я получаю вышеуказанную ошибку, я знаю, что она из-за UpdateWorkflowAssociation находится внутри foreach, но она мне нужна, поэтому простая помощь будет высоко оценена
`siteName = "http://xyz";
newCleanupDays = 5;
assoCounter = 0;
using (wfSite = new SPSite(siteName))
{
using (wfWeb = wfSite.OpenWeb())
{
//wfList = wfWeb.Lists[libraryName];
SPListCollection collList = wfWeb.Lists; //Open Lists
SPWorkflowAssociation _wfAssociation = null;
foreach (SPList oList in collList)
{
if (oList.WorkflowAssociations.Count > 0)
{
foreach (SPWorkflowAssociation a in oList.WorkflowAssociations)
{
if (a.Name != null || a.Name != string.Empty)
{
a.AutoCleanupDays = newCleanupDays;
_wfAssociation = a;
assoCounter++;
}
else
{
_wfAssociation = a;
}
}
oList.UpdateWorkflowAssociation(_wfAssociation);
}
}
System.Console.WriteLine("\n" + wfAssoName + ": " + assoCounter.ToString() + " workflow association(s) changed successfuly!\n");
}
}`
1 ответ
Решение
Вместо
foreach (SPList oList in collList)
просто пиши
foreach (SPList oList in collList.ToList())
Таким образом, вы будете перебирать копию, которая не изменяется во время итерации, но реальная коллекция может быть обновлена.