条件评估失败。规则项 ID:未知,条件项 ID:未知 - 由于对象的当前状态,操作无效

Posted

技术标签:

【中文标题】条件评估失败。规则项 ID:未知,条件项 ID:未知 - 由于对象的当前状态,操作无效【英文标题】:Evaluation of condition failed. Rule item ID: Unknown, condition item ID: Unknown - Operation not valid due to the current state of the object 【发布时间】:2019-01-24 13:59:49 【问题描述】:

我正在查看我网站中的 Sitecore 日志,并收到大量以下错误:

ERROR 条件评估失败。规则项 ID:未知,条件项 ID:未知

异常:System.InvalidOperationException

消息:由于对象的当前状态,操作无效。

来源:Sitecore.ExperienceAnalytics 在 Sitecore.ExperienceAnalytics.Aggregation.Rules.AggregationAdaptor.HistoricalVisitContextBase.GetPages() 在 Sitecore.Analytics.Rules.Conditions.HasVisitedPageCondition1.Execute(T ruleContext) at Sitecore.Rules.Conditions.WhenCondition1.Evaluate(T ruleContext.......

在过去一周内,此错误已发生 >10,500 次

我不知道该怎么做才能找出导致错误的原因或解决它。我不知道它是否会影响网站性能,但我想解决这个问题,这样我每周就不会发生超过 10k 的错误。

【问题讨论】:

【参考方案1】:

这帮助我解决了问题:https://sitecoreart.martinrayenglish.com/2017/10/sitecore-xdb-mechanics-guide-to.html

最常见的错误原因是旧测试仍然是内容项配置的一部分,这些测试要么未正确停止、处于非活动状态或已被删除。

解决问题 修复方法是从相关项目的最终渲染 XML 字段中删除坏/旧的测试引用。

-确定是什么项目引发了测试异常。 - 在“查看”选项卡的“查看”部分启用原始值和标准字段。 - 复制项目的最终渲染 XML 值并对其进行格式化,以便于阅读。这个网站做得很好:https://www.freeformatter.com/xml-formatter.html - 将您的 XML 粘贴到 Visual Studio 或其他编辑器中。 - 找到 XML 中具有 s:pt 的属性并删除这些属性。 - 将更新的 XML 复制并粘贴回项目的最终渲染字段。 - 保存并发布。

在此之后,错误将不再出现在您的日志中。但是,您需要再次启动测试。

【讨论】:

以上是关于条件评估失败。规则项 ID:未知,条件项 ID:未知 - 由于对象的当前状态,操作无效的主要内容,如果未能解决你的问题,请参考以下文章

text ID或根据条件删除重复项

loopkup mongodb之后条件的多个匹配项

SQL只选择一项符合条件的项目

MySQL多项模糊查询

ORA-02291: 违反完整约束条件 - 未找到父项关键字

在已转出档案设计项列(用的实体为a)表界面上有一个转出详情按钮,点击转出详情按钮时调出档案转出记录设计项的编辑界面(用的实体为b),筛选条件为DangAnID=ID的代码如下