Nhibernate &引用;找不到数据库持久性";在新设置的站点上与Umbraco和Courier发生错误
我也将要发布我的答案,但我昨晚在谷歌上搜索时找不到,所以我认为这是值得在这里列出的,因为其他人在晚上9点的时候会发疯 我创建了一个已经存在于其他地方的站点的新实例(我需要制作一个快照以进行安全测试,同时继续进行错误修复)。为此,我做了以下工作:Nhibernate &引用;找不到数据库持久性";在新设置的站点上与Umbraco和Courier发生错误,nhibernate,persistence,umbraco,stack-trace,Nhibernate,Persistence,Umbraco,Stack Trace,我也将要发布我的答案,但我昨晚在谷歌上搜索时找不到,所以我认为这是值得在这里列出的,因为其他人在晚上9点的时候会发疯 我创建了一个已经存在于其他地方的站点的新实例(我需要制作一个快照以进行安全测试,同时继续进行错误修复)。为此,我做了以下工作: 已停止目标Web服务器 复制整个webroot,包括umbraco文件夹、空的App\u数据以及所有资产、宏、模板等。(为了做到这一点,我实际上制作了一个webroot的zipfile,并将其重新放在目标web服务器上,但更标准的版本也会有同样的效果。)
umbraco
文件夹、空的App\u数据
以及所有资产、宏、模板等。(为了做到这一点,我实际上制作了一个webroot的zipfile,并将其重新放在目标web服务器上,但更标准的版本也会有同样的效果。)http://mydomain.com/umbraco/
,我收到一条错误信息:
找不到数据库持久性,请确保您的/bin中有有效的连接字符串和Umbraco.Courier.persistence.*dll
还有一个
Umbraco.Courier.Core.PersistenceManager.GetPersistenceProvider(Guid id)+294
c:\Program Files(x86)\teamcity\buildAgent\work\872C402D344319C\Core\Umbraco.Courier.Providers\DocumentTypeItemProviders\DocumentTypeItemProvider.cs:140中的Umbraco.Courier.ItemProviders.DocumentTypeItemProvider.HandlePack(ItemIdentifier id)
Umbraco.Courier.Core.ItemProvider.Package(ItemIdentifier id)+88
c:\Program Files(x86)\teamcity\buildAgent\work\872c402d3442319c\Contrib\Providers\Umbraco.Courier.RepositoryProviders\Local.Package(ItemIdentifier itemId)中的Umbraco.Courier.RepositoryProviders.Local.Package(ItemIdentifier itemId):227
Umbraco.Courier.Cachehandler.V4.Cachehandler.\u c:\Program Files(x86)\teamcity\buildAgent\work\872C402D34429C\Contrib\Providers\Umbraco.Courier.Cachehandler.V4\Cachehandler\Cachehandler.cs:211中的sendtoche(ItemIdentifier itemId)
Umbraco.Courier.Cachehandler.V4.Cachehandler.DocumentType_AfterSave(DocumentType sender,SaveEventArgs e)在c:\Program Files(x86)\teamcity\buildAgent\work\872C402D344319C\Contrib\Providers\Umbraco.Courier.Cachehandler.V4\Cachehandler\Cachehandler.cs:133
Vega.USiteBuilder.DocumentTypeManager.SynchronizedDocumentType(typeDocType,TypeBaseTypeDocType)+574
Vega.USiteBuilder.DocumentTypeManager.SynchronizedDocumentTypes(类型baseTypeDocType)+146
Vega.USiteBuilder.DocumentTypeManager.Synchronize()+56
Vega.USiteBuilder.UmbracoManager.Synchronize()+120
Vega.USiteBuilder.UmbracoManager.SynchronizeIfNotSynchronized()+85
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()+80
System.Web.HttpApplication.ExecuteStep(IExecutionStep步骤,布尔值&同步完成)+270
现在我知道Umbraco.Courier.Persistence.*
DLL都存在了,这不仅仅是因为我刚刚从工作环境中复制了它们
那又有什么用呢?上周我在这件事上浪费了好几次时间,我突然想到,下次发生的时候,我要记下如何修复它 所需要做的就是回收应用程序池。如果您不确定如何执行此操作,请查看以下链接之一:
- Hosting.com:
- TechNet at-TechNet上的IIS6说明真的很糟糕
- 堆栈溢出:
- 堆栈溢出:
我希望这能让其他人免于前几天晚上下班后感觉良好的沮丧情绪。我不得不承认,这种解决方案并不总是奏效;我们在尝试使用最新的Umbraco 4.11.1版本部署Courier(build 26)时遇到了相同的“数据库持久性”错误,从Umbraco Courier仪表板单击“部署”也会出现相同的错误。回收此站点的应用程序池没有帮助
作为帮助信息发布到umbraco.org,如果我得到解决,我将在这里发布。嗨,Owen,我们做了相同的基本备份/恢复过程,但回收应用程序池没有帮助。你还有其他建议吗?哦,太糟糕了。恐怕我不知道;我想您的
~/bin/
文件夹中确实存在该DLL?每次我需要的时候,回收应用程序池肯定对我有用。我知道内置的类型查找器非常糟糕;我相信在新版本(poss 4.10,已经发布)中这一点正在得到改进。但我想这没什么帮助。抱歉…谢谢你发布你的答案。它帮助了我(Umbraco 6.0.7)很高兴我能帮上忙,@Mounhim:o)这不是我应该提到的问题的答案,我们正在运行Umbraco 4.7.1.1