我正在将sitecore从8.1升级到8.2并且现在已经拆分为CD和CMS但是我遇到了问题,因为我正在让CD工作,因为它给了我以下错误。
无法弄清楚导致问题的原因,
堆栈追踪:
[InvalidOperationException:发布条件失败]
Sitecore.Diagnostics.Assert.ResultNotNull(T result,String message) +85 Sitecore.Configuration.DefaultFactory.GetDatabase(String name)+86 Sitecore.Configuration.DefaultFactory.GetDatabases()+ 121 Sitecore.Data.Managers.DefaultItemManager.Initialize()+ 105(Object ,Object [])+ 117 Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)+484(对象,对象[])+71
Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)+484
Sitecore.Pipelines.DefaultCorePipelineManager.Run(String pipelineName, PipelineArgs args,String pipelineDomain)+22
Sitecore.Nexus.Web.HttpModule.Application_Start()+259
Sitecore.Nexus.Web.HttpModule.Init(HttpApplication app)+704
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr的 appContext,HttpContext上下文,MethodInfo []处理程序)+618
System.Web.HttpApplication.InitSpecial(HttpApplicationState状态, MethodInfo [] handlers,IntPtr appContext,HttpContext context)+172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr的 appContext,HttpContext context)+402
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr的 appContext)+343[HttpException(0x80004005):发布条件失败]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context)+579
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +112 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest) wr,HttpContext context)+712
答案 0 :(得分:1)
问题在于DefaultFactory
及其GetDatabases
方法。此方法获取在sitecore/databases/database
配置中定义的所有数据库。
看起来该配置中仍有master
数据库,但您已删除了其连接字符串或与该数据库相关的其他配置。
如果您查看Configure a content delivery server指南,就会有删除configuration/sitecore/databases/database
的信息(注释掉整个主数据库部分)。
答案 1 :(得分:1)
通过在Z.switchMasterToWeb文件夹中启用switchMasterToWeb.config而不是在include文件夹中启用switchMasterToWeb来管理解决此问题。