У меня есть «список проектов» (название, название, участники, URL-адрес сайта), который должен ссылаться на сайты команды под сайтом, имеющим список проектов. Поэтому я добавил SPItemEventReceiver
в свою функцию в решении для песочницы, чтобы сделать это.Sharepoint: Создайте суборд из обработчика событий элемента
В ItemAdding(properties)
я призываю следующее:
string projectName = properties.AfterProperties["Title"].ToString();
SPWeb currentWeb = properties.Web;
SPWeb subweb = currentWeb.Webs.Add(projectName, projectName,
"Project site for " + projectName, (uint) currentWeb.Locale.LCID,
Microsoft.SharePoint.SPWebTemplate.WebTemplateSTS, true, false);
Но при отладке, вызов Добавить бросает SPException
Обертывание COMException для HRESULT кода FAILED с сообщением запрос песочницы выполнение кода было отказано потому что служба узла с изолированным кодом была слишком занята для обработки запроса.
Есть ли что-то не так с параметрами, или я должен делегировать фактическое создание в рабочий процесс вместо этого?
Ну, он быстрее выходил с «Язык не поддерживается на этом сервере» :) Изменение этого параметра на текущийWeb.Language дает та же ошибка; другое изменение, которое я делал, - это использовать OpenWeb() вместо того, чтобы просто получить веб-свойство и помещать вызов create в оператор _using_. Также попытался со строкой «STS # 0», которую состояние docs является строковым значением для сайта команды ... –