0

我正在将 sitecore 从 8.1 升级到 8.2,现在正在拆分为 CD 和 CMS,但我在让 CD 工作时遇到问题,这给了我以下错误。

无法弄清楚导致问题的原因,

堆栈跟踪:

[InvalidOperationException:后置条件失败]
Sitecore.Diagnostics.Assert.ResultNotNull(T 结果,字符串消息)+85 Sitecore.Configuration.DefaultFactory.GetDatabase(字符串名称)+86 Sitecore.Configuration.DefaultFactory.GetDatabases()+121 Sitecore.Data .Managers.DefaultItemManager.Initialize() +105 (Object , Object[] ) +117 Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args) +484 (Object , Object[] ) +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 context, MethodInfo[] handlers) +618
System.Web.HttpApplication.InitSpecial(HttpApplicationState state, 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): Post condition failed]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +579
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +112 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +712

4

2 回答 2

2

问题在于DefaultFactory及其GetDatabases方法。sitecore/databases/database此方法获取在配置中定义的所有数据库。

看起来该配置中仍有master数据库,但您已经删除了它的连接字符串或与该数据库相关的一些其他配置。

如果您查看配置内容交付服务器指南,则会删除一些信息configuration/sitecore/databases/database(注释掉整个数据库部分)。

于 2016-10-21T09:50:50.363 回答
2

通过在 Z.switchMasterToWeb 文件夹中启用 switchMasterToWeb.config 而不是在 include 文件夹中启用 switchMasterToWeb 来解决该问题。

于 2016-10-21T11:53:10.483 回答