在 Biztalk 映射器中编写脚本 functoid returns 输入而不是 return-value

Scripting functoid returns input instead of return-value in Biztalk mapper

我有一个脚本 functoid,代码如下:

public string MyConcat(string product)
{
    string retStr= "01";
    product = product.ToUpper();
    if(product.Contains("CONDITION")){
        retStr= "02";
    }
    return retStr;
}

当我在 LinqPad 中 运行 它时,它工作得很好,但是当我测试地图时,它 returns 产品字符串而不是 retStr,我觉得这很奇怪。任何帮助深表感谢。

您可能有另一个具有相同签名的脚本 functoid,即称为 MyConcat,returns 一个字符串,具有单个字符串输入。在这种情况下,它将执行使用链接到它的输入创建的第一个版本。

请确保为您的函数命名一个唯一且具有描述性的名称以避免这种情况。

如果你确实需要在你的地图中多次使用同一个函数,它的这个特性re-using这个函数非常有用,但我通常会确保在所有后续副本中添加注释说明只有第一个版本有代码。