Sitecore 6.6
我的Sitecore实例上新网站上线后,我的日志文件中收到以下消息:
19224 10:04:41 ERROR Failed to perform Visit End actions
Exception: System.InvalidCastException
Message: Unable to cast object of type 'Sitecore.Web.SessionEndWorkerRequest' to type 'System.Web.Hosting.IIS7WorkerRequest'
其他已经存在一段时间的网站尚未显示这些错误消息。
我们有一台CM服务器,它有两个独立的CD服务器,无法访问master
数据库。
在研究错误时,很多人都提到你必须删除对master
数据库的引用,但据我所知,我没有。我使用了“SwitchMasterToWeb.config”文件。
任何想法?
谢谢!
答案 0 :(得分:1)
你现在可能已经忘记了这一点,但既然你说你会感兴趣......
看起来错误消息Failed to perform Visit End actions
错误来自于Sitecore.Analytics.config文件中通常配置的visitEnd管道中的异常。我不确定为什么失败的请求跟踪会对此产生任何影响。请检查以下内容:
/sitecore/system/Settings/Analytics/Rules/Session End/Rules
下定义了自定义规则?/sitecore/system/Settings/Analytics/Page Events/Session End
项目上定义了规则?如果那里的事情看似正常,我认为你很安全。
答案 1 :(得分:0)
它有点晚了但可能对其他人有帮助,因为同样的问题也存在于当前版本中。
ERROR Failed to perform Visit End actions
Exception: System.InvalidOperationException
Message: Could not find configuration node: databases/database[@id='master']
Source: Sitecore.Kernel
at Sitecore.Diagnostics.Assert.IsTrue(Boolean condition, String message)
at Sitecore.Configuration.Factory.GetConfigNode(String xpath, Boolean assert)
at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
at Sitecore.Configuration.Factory.GetDatabase(String name)
at Sitecore.Analytics.Pipelines.VisitEnd.RunRules.Process(VisitEndArgs endArgs)
at (Object , Object[] )
at Sitecore.Pipelines.CorePipeline.Run(PipelineArgs args)
at Sitecore.Analytics.VisitEndWorker.Helper.Process(Action visitEndAction)
要解决此问题,您需要创建一个名为Sitecore.Analytics.DefaultDefinitionDatabase.config的新文件,并添加以下配置:
<configuration xmlns:patch="http://www.sitecore.net/xmlconfig/">
<sitecore>
<settings>
<setting name="Analytics.DefaultDefinitionDatabase">
<patch:attribute name="value">web</patch:attribute>
</setting>
</settings>
</sitecore>
</configuration>
注意:强> 此设置目前不在任何文件中,它已硬编码到Analytics DLL中,此设置的默认值为&#34; master&#34;因此,您必须创建一个新的配置文件来覆盖这个设置。 如果仍然出现错误,则在标准安装后添加的配置文件中可能会有更多对master的引用。两个示例是News Mover模块和Advanced Database Crawler。解决方案是找到对这些主数据库的所有引用,并修补它们以替换为web,或者如果在交付服务器的上下文中不需要它,则完全删除该设置。