6.6中“无法执行访问结束操作”错误

时间:2013-09-19 15:23:07

标签: sitecore sitecore6 sitecore-dms

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”文件。

任何想法?

谢谢!

2 个答案:

答案 0 :(得分:1)

你现在可能已经忘记了这一点,但既然你说你会感兴趣......

看起来错误消息Failed to perform Visit End actions错误来自于Sitecore.Analytics.config文件中通常配置的visitEnd管道中的异常。我不确定为什么失败的请求跟踪会对此产生任何影响。请检查以下内容:

  • 您是否有任何自定义处理器用于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,或者如果在交付服务器的上下文中不需要它,则完全删除该设置。

参考:http://www.sitecoredevelopment.com/MarkGraber/2013/June/Tips-on-Setting-up-a-Content-Delivery-Server-with-No-Master-Database.aspx