我们有一个自定义的自助式SharePoint解决方案,允许人们来到配置SharePoint应用程序,按照3页向导,回答一堆问题,并根据这些问题,调用周围的几个Web服务之一反过来在本地服务器场中创建基于3种站点类型(团队,项目或社区)之一的新网站集的世界 - 所有网站都创建为一个开箱即用的团队网站,其中包含发布功能然后,我们(在代码中)以多种方式修改(创建库,删除内容类型等)。
当两个用户尝试在同一个服务器场中创建相同类型的站点(即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)
答案 0 :(得分:-1)
我不知道分享,我从来没有遇到过这个问题,我只是在这里扮演明显的队长。
根据我的理解,当人们创建不同类型的网站时,不会发生错误。那个和错误消息“无法创建'可重用内容'库”和“无法删除文件”项目“”向我表明,他们可能在创建新网站时尝试访问相同的目录结构。
可能两个站点都使用公共索引作为站点目录结构的基础,因此在尝试“CreateReusableTextList()”时会遇到冲突。
这也可以解释为什么Team,Project或Community站点不会发生冲突,因为它们可能使用不同的根目录。