У нас есть специальное решение 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)