2013-08-20 47 views
1

我正在使用sitecore站点rev 120706 DMS和main。Sitecore Profile.Score(字符串,浮点数)存在十进制值问题

当我们尝试使用Score(字符串,浮点数)方法添加人物角色时,我们正在向某些页面添加角色,并使用小数值获得不寻常的结果。我们的值为0.5,这是因为两个配置文件被添加到较早的页面,其值为1,另一个值为0.在表单提交中,我们希望将值添加到值,并使用Profile.Score( “lead”,1)用1代替.5而不是加1得到1.5。当值为1时,我们成功获得2.

如何让Score方法在一致性问题中作出反应?

+0

你有没有试过将1作为float的指定:Profile.Score(“lead”,1f); 只是抓着吸管,因为当我反编译该方法的代码时,它只处理浮游物。 –

回答

0

Sitecore的显然已经在与它使用的不是float.Parse

我发现的地方在出现错误代码int.Parse代码的问题。它位于 Sitecore.Analytics.Data.VisitProfile.Parse()方法中。在从数据库读取配置文件值时,它使用int.Parse 而不是float.Parse。 在Sitecore 6.6.0 Update-4中修复了此问题。请参阅发行说明中的​​参考号 号码376088。不幸的是,有没有简单的方法来修复代码 。请考虑将您的解决方案升级到6.6.0 Update-4。与此同时,我建议在个人资料中使用较大的分数值 ,以使结果值始终大于1. 此方法适用于我。请让我们知道,如果你有 有任何麻烦。

要解决该问题,最终只需乘以我们使用的值10以避免sitecore的int而不是float问题。

相关问题