Sitecore配置文件。分数(字符串、浮点)与十进制值存在问题

Sitecore配置文件。分数(字符串、浮点)与十进制值存在问题,sitecore,personalization,sitecore-dms,Sitecore,Personalization,Sitecore Dms,我在一个sitecore站点上工作,该站点版本为120706 DMS和main 当我们尝试使用Score(string,float)方法向某些页面添加角色时,我们会向这些页面添加角色,并得到分数值的异常结果。我们有一个0.5的价值领先,这是因为两个配置文件被添加到较早的页面,一个值为1,另一个值为0。在提交表单时,我们希望在值中添加一个,并使用Profile.Score(“lead”,1),它将.5替换为1,而不是添加1得到1.5。当值为1时,我们将成功获得2 我们如何让Score方法在一致性问

我在一个sitecore站点上工作,该站点版本为120706 DMS和main

当我们尝试使用Score(string,float)方法向某些页面添加角色时,我们会向这些页面添加角色,并得到分数值的异常结果。我们有一个0.5的价值领先,这是因为两个配置文件被添加到较早的页面,一个值为1,另一个值为0。在提交表单时,我们希望在值中添加一个,并使用Profile.Score(“lead”,1),它将.5替换为1,而不是添加1得到1.5。当值为1时,我们将成功获得2


我们如何让Score方法在一致性问题上做出反应?

Sitecore显然在使用int.Parse而不是float.Parse的代码中存在问题

我在代码中找到了出现错误的地方。在房间里 Sitecore.Analytics.Data.VisitProfile.Parse()方法。它使用int.Parse 而不是float.Parse,同时从数据库读取配置文件值。 此问题已在Sitecore 6.6.0 Update-4中修复。请参阅参考资料 发行说明中的编号376088。不幸的是,没有简单的方法来解决这个问题 修复代码。请考虑将您的解决方案升级到 更新-4。同时,我建议使用更大的分数值 在配置文件中,使结果值始终大于1。 这种方法对我来说是有效的。如果有,请告诉我们 有什么问题吗


为了解决这个问题,我们只是将我们使用的值乘以10,以避免sitecore的int而不是float问题。

您是否尝试过将1明确指定为float:Profile.Score(“lead”,1f);真的是抓着救命稻草,因为当我为那个方法反编译代码时,它只处理浮点数。