Разработан пользовательский рабочий процесс, который копирует страницы с сайта верхнего уровня на дочерние сайты.Страницы копируются в определенную папку в библиотеке страниц на узлах.
Этот рабочий процесс был установлен в 3 семействах сайтов, и в 2 из них он работает без проблем.В третьем семействе сайтов мы достигаем смешанных результатов, когда страницы успешно копируются на некоторые дочерние сайты, но не на другие.
Исключение возникает на несколько уровней в глубине вызова метода SPListItem.CopyTo.Стек вызовов выглядит следующим образом:
System.InvalidOperationException: Collection was modified; enumeration operation may not execute.
at System.Collections.ArrayList.ArrayListEnumeratorSimple.MoveNext()
at Microsoft.SharePoint.SPCopy.CopyIntoItem(String srcUrl, SPListItem target, Hashtable props, Byte[] stream, Boolean saveStream)
at Microsoft.SharePoint.SPCopy.CopyIntoNewItem(Hashtable props, Byte[] stream, SPFolder targetFolder, String targetUrl, String srcUrl)
at Microsoft.SharePoint.SPCopy.CopyIntoNewItem(SPListItem src, SPFolder targetFolder, String targetUrl)
at Microsoft.SharePoint.SPCopy.CopyIntoItem(SPListItem src, String targetUrl)
Код рабочего процесса гарантирует, что связанный тип содержимого исходной страницы присоединен к целевой библиотеке страниц перед выполнением операции копирования.При использовании Reflector оказывается, что многие объекты ArrayList используются для копирования свойств исходной страницы;отсюда проблема.
Библиотека страниц в проблемных дочерних сайтах не отличается по своей конфигурации от тех, в которые страницы успешно копируются.
Папка, в которую она пытается скопировать, создаетсярабочий процесс как подпапка корневой папки целевой библиотеки страниц.Он использует тип содержимого папки по умолчанию.
В предыдущей версии рабочего процесса код копировал страницы в корневую папку библиотеки страниц и не сталкивался с этой проблемой.В этой версии мы используем папки для применения уникальных настроек безопасности к страницам в этой папке.
Функции публикации были активированы по всему семейству сайтов, и мы используем платформу MOSS 2007.
ЛюбаяМысль об этом будет принята с благодарностью.
Заранее спасибо.