1

我正在研究 sitecore 网站 rev 120706 DMS 和 main。

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

我们如何才能让 Score 方法在一致的事情中做出反应?

4

1 回答 1

0

Sitecore 使用 int.Parse 而不是 float.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 问题。

于 2013-09-25T13:19:58.003 回答