Ошибка при одновременной активации нескольких функций публикации сайта (сайта) - PullRequest
0 голосов
/ 16 ноября 2009

У нас есть специальное решение SharePoint для самообслуживания, которое позволяет людям приходить в приложение SharePoint для подготовки, следовать 3-х страничному мастеру, отвечать на множество вопросов и, основываясь на этих вопросах, вызывать одну из нескольких веб-служб вокруг Мир, который, в свою очередь, в локальной ферме создает новое семейство сайтов на основе одного из трех типов сайтов (Team, Project или Community) - все сайты создаются как готовый сайт группы, к которому прикреплены функции публикации. , который мы затем (в коде) модифицируем несколькими способами (создаем библиотеки, отбрасываем типы контента и т. д.).

Проблема возникает, когда два пользователя пытаются создать сайт одного типа (то есть 2 сайта проекта или 2 сайта сообщества) в одной ферме. Кажется, что активировать функцию публикации семейства сайтов не удается, и я не могу понять, почему. Естественно, когда мы подключаем к нему отладчик, все работает нормально. Мы рассмотрели все шаблоны утилизации SPSite / SPWeb и все остальное, о чем мы могли подумать - проблема в том, что сбои происходят в сборках Microsoft, это трудно исправить.

Это пример сбоя, взятый из журнала SharePoint ULS. Два создания сайта были запущены в считанные секунды; первый преуспел, второй провалился (второй всегда проигрывает). Я вручную добавил разрывы строк, чтобы облегчить чтение. Есть идеи?

Failed to activate feature 'PublishingSite' (Id f6924d36-2fa8-4f0b-b16d-06b7250180fa) associated with site template 'STS#0' at scope "http://projects/sites/heisenbug2".

Exception: Microsoft.SharePoint.SPException: Provisioning did not succeed.
Details: Failed to create the 'Reusable Content' library.
OriginalException: Cannot remove file "Item". Error Code: 16388. ---> 

Microsoft.SharePoint.SPException: Cannot remove file "Item". Error Code: 16388. ---> 

System.Runtime.InteropServices.COMException (0x81070207): Cannot remove file "Item". Error Code: 16388.
     at Microsoft.SharePoint.Library.SPRequestInternalClass.AddOrDeleteUrl(String bstrUrl, String bstrDirName, Boolean bAdd, UInt32 dwDeleteOp, Int32 iUserId, Guid& pgDeleteTransactionId)
     at Microsoft.SharePoint.Library.SPRequest.AddOrDeleteUrl(String bstrUrl, String bstrDirName, Boolean bAdd, UInt32 dwDeleteOp, Int32 iUserId, Guid& pgDeleteTransactionId)

     --- End of inner exception stack trace ---

     at Microsoft.SharePoint.Library.SPRequest.AddOrDeleteUrl(String bstrUrl, String bstrDirName, Boolean bAdd, UInt32 dwDeleteOp, Int32 iUserId, Guid& pgDeleteTransactionId)
     at Microsoft.SharePoint.SPFolder.DeleteCore(DeleteOp deleteOp)
     at Microsoft.SharePoint.SPFolder.Delete()
     at Microsoft.SharePoint.SPContentType.DeleteFolder()
     at Microsoft.SharePoint.SPContentTypeCollection.Delete(SPContentTypeId id)
     at Microsoft.SharePoint.Publishing.Internal.ProvisioningHelper.ReplaceAllContentTypesOnList(SPList list, SPContentType contentType)
     at Microsoft.SharePoint.Publishing.Internal.RootProvisioner.CreateReusableTextList()

     --- End of inner exception stack trace ---

     at Microsoft.SharePoint.Publishing.Internal.RootProvisioner.CreateReusableTextList()
     at Microsoft.SharePoint.Publishing.Internal.RootProvisioner.<Provision>b__0()
     at Microsoft.SharePoint.Publishing.CmsSecurityUtilities.RunWithAllowUnsafeUpdates(SPWeb web, CodeToRun secureCode)
     at Microsoft.SharePoint.Publishing.Internal.RootProvisioner.Provision()
     at Microsoft.SharePoint.Publishing.PublishingResourcesFeatureHandler.<>c__DisplayClass2.<FeatureActivated>b__0()
     at Microsoft.SharePoint.Publishing.CmsSecurityUtilities.RunWithWebCulture(SPWeb web, CodeToRun webCultureDependentCode)
     at Microsoft.SharePoint.Publishing.PublishingResourcesFeatureHandler.FeatureActivated(SPFeatureReceiverProperties receiverProperties)
     at Microsoft.SharePoint.SPFeature.DoActivationCallout(Boolean fActivate, Boolean fForce)
     at Microsoft.SharePoint.SPFeature.Activate(SPSite siteParent, SPWeb webParent, SPFeaturePropertyCollection props, Boolean fForce)
     at Microsoft.SharePoint.SPFeatureCollection.AddInternal(Guid featureId, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
     at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId, Boolean force)
     at Microsoft.SharePoint.SPFeatureCollection.CheckSameScopeDependency(SPFeatureDefinition featdefDependant, SPFeatureDefinition featdefDependency, Boolean fActivateHidden, Boolean fForce)
     at Microsoft.SharePoint.SPFeatureCollection.CheckFeatureDependency(SPFeatureDefinition featdefDependant, SPFeatureDependency featdep, Boolean fActivateHidden, Boolean fForce)
     at Microsoft.SharePoint.SPFeatureCollection.CheckFeatureDependencies(Guid featidDependee, Boolean fActivateHidden, Boolean fForce)
     at Microsoft.SharePoint.SPFeatureCollection.AddInternal(Guid featureId, SPFeaturePropertyCollection properties, Boolean force, Boolean fMarkOnly)
     at Microsoft.SharePoint.SPFeatureCollection.Add(Guid featureId, SPFeaturePropertyCollection properties, Boolean fForce)
     at Microsoft.SharePoint.SPTemplateAssociationElement.EnsureTemplateAssociatedSiteFeaturesActivated(SPSite site, String sTemplateName)

1 Ответ

0 голосов
/ 25 ноября 2009

Я не знаю, sharepoint, у меня никогда не было этой проблемы, я просто играю здесь с очевидным капитаном.

Насколько я понимаю, ошибка не возникает, когда люди создают сайты другого типа. Это и сообщения об ошибках «Не удалось создать библиотеку« Повторно используемое содержимое »» и «Невозможно удалить файл« Элемент »» указывают мне, что где-то они оба могут пытаться получить доступ к одной и той же структуре каталогов при создании нового сайта.

Возможно, оба сайта используют общий индекс в качестве основы для структуры каталогов сайта и, таким образом, сталкиваются с коллизией при попытке "CreateReusableTextList ()".

Это также объясняет, почему сайты групп, проектов или сообществ не сталкиваются, поскольку они, вероятно, используют разные корневые каталоги.

...