我正在使用sitecore网站rev 120706 DMS和main。
当我们尝试使用Score(string,float)方法添加角色值时,我们正在为某些页面添加角色并获得具有小数值的异常结果。由于两个配置文件被添加到一个值为1的另一个配置文件中,另一个值为0,因此我们有一个值为0.5的值。在表单提交时,我们要在值中添加一个并使用Profile.Score( “lead”,1)用1替换.5而不是加1来得到1.5。当值为1时,我们成功获得2。
我们怎样才能让Score方法以一致的方式做出反应?
答案 0 :(得分: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 更新4。与此同时,我建议使用更高的分数值 在您的配置文件中,结果值始终大于1。 这种方法对我有用。如果您有,请告诉我们 任何麻烦。
要解决问题最终只是将我们使用的值乘以10以避免使用sitecore的int而不是float问题。