1

似乎CodeEffect库 4.3.2.6 在 UI 上编辑规则XML以及从 stroage 转换回来以在 UI 上显示以进行编辑时存在问题.

是故意避免在 UI 上编辑长规则还是只是一个错误,以便有人知道解决方法?为了避免我的代码产生任何副作用,我从 codeeffects 站点Code Effects Demo Projects下载并使用了业务规则代码示例,并在 VS2015 中打开它。

在“Patient.cs”文件中添加以下代码

public class Patient 
{
...
// In Rule Method that accepts only one string parameter
[Method("[NumberOfSegments]")]
public int RuleMethod01(
            // explicitly specify maximum string allowed
            [Parameter(ValueInputType.User,Max = 10000)] 
            string val)
        {
            return val.Split(',').Length;
        }

}

在 UI(使用 Ajax 控制器)上,我尝试使用传入的长字符串参数创建规则(在实际项目中,我需要这么长的字符串,因为它包含 In Rule 方法的唯一参数以用于计算,并且不能依赖 CodeEffects 的数据源方法可以提供)

Check if [NumberOfSegments] ("1111,2222,33333,4444,55555,6666,777,8888,999,0000,1111,222,333,44444,1231231,123123123,123123123,123123123,123123123,123123123,123123123,123123123,123123123,123132123,123123123,123123123,123123123,123123123,12123123,123123123,123123123,123123123,1231231233") greater than 12

但即使我在属性参数UI 中明确指定参数的最大字符串长度为10000 ,也不允许我输入长度超过256个字符的字符串。CodeEffects 站点 Business-Rules-Data-Types上的文档没有提到任何内置限制,并且限制字符串参数长度的唯一方法是使用 Parameter Attribute 及其Max属性。

有没有人遇到过这种“综合”限制的问题,并且可以指出我的文档或任何解决方法?提前感谢您提供任何有意义的建议

PS:只是小更新 - 当我手动编辑规则 XML 文件并提供更长的字符串作为参数(例如大约 500 个字符)时,我无法将它从 XML 加载回 UI,RuleEditor::Rule::InvalidElements 集合包含一个元素提示属性值“v122”不知道它是否有用,但可能是 CodeEffects 作者可以了解更多关于此类提示以及 v122 的含义。

4

1 回答 1

0

代码效果不支持长度超过 255 个字符的字符串(属性值和方法参数)。v122 是您在响应中得到的错误号。它的原始消息是“这个字符串元素的值的长度超过了最大允许限制”。

于 2017-01-05T15:43:02.863 回答