“脚本”Functoid

使用 “脚本编写 ”functoid,可以在运行时使用自定义脚本或代码来执行其他不可用的功能。 例如,可以在运行时通过使用 Scripting functoid 并编写自己的自定义函数来调用 .NET 程序集。

脚本 functoid 支持以下语言:

  • C# .NET

  • JScript .NET

  • Visual Basic .NET

  • 可扩展样式表语言转换 (XSLT)

  • XSLT 调用模板

    当前 脚本 functoid 与早期版本之间的另一个显著区别是,不再需要创建脚本并将其存储在 functoid 本身中。 相反,可以在单独的 .NET 程序集中创建脚本,并通过 Script 属性引用程序集。 在单独的程序集中保存脚本使您能够在多个映射中使用同一脚本。 此外,还可以从第三方供应商那里购买 脚本 functoid 程序集。

    可以将 BizTalk 映射器早期版本中创建的 脚本 处理 functoid 与 BizTalk 映射器的当前版本配合使用。 但是,必须首先迁移这些 functoid。 有关如何迁移 脚本 functoid 的详细信息,请参阅 迁移 Functoid

    Scripting functoid 添加到映射时,需要配置 functoid 使用的脚本。 如果选择“脚本”functoid,则会在“属性”窗口中启用脚本属性。 如果单击此属性的省略号 (...) 按钮,将打开 “配置脚本 Functoid ”对话框。 或者,可以双击“ 脚本编写 ”functoid。

    下表显示了此对话框的字段:

“配置脚本编写 Functoid”对话框字段 说明
选择脚本类型 使用此字段选择要在此脚本 functoid 中使用的 脚本 类型。

值:

- 外部程序集。 如果要将 Scripting functoid 与全局程序集缓存中的程序集相关联, (GAC) ,请使用此值。 警告: 外部程序集中的代码必须是线程安全的。 在任务繁忙时,可以同时运行多个映射实例。
- 内联 C#。 如果要将 脚本 functoid 与 内联脚本 缓冲区中的 C# 代码相关联,请使用此值。
- 内联 JScript .NET。 如果要将脚本 functoid 与内联脚本缓冲区中的 JScript .NET 脚本相关联,请使用此值。
- 内联 Visual Basic .NET。 如果要将 脚本 functoid 与 内联脚本 缓冲区中的 Visual Basic .NET 代码相关联,请使用此值。
- 内联 XSLT。 如果要将 脚本 functoid 与 内联脚本 缓冲区中的 XSLT 相关联,请使用此值。
- 内联 XSLT 调用模板。 如果要将 脚本 functoid 与 内联脚本 缓冲区中的 XSLT 调用模板相关联,请使用此值。
脚本程序集 选择要与 脚本 functoid 关联的程序集。 只有在“项目”窗口中引用的程序集才会显示在此列表中。 另外请注意,必须在 GAC 中注册程序集。

仅当 “选择脚本类型” 设置为“ 外部程序集”时,此字段才可用。
脚本类 选择希望此 脚本 functoid 使用的所选程序集中的类。

仅当 “选择脚本类型” 设置为“ 外部程序集”时,此字段才可用。
脚本方法 在所选类中选择希望此 脚本 functoid 使用的方法。 注意: 确保方法所需的输入参数数与 “配置脚本”Functoid 对话框中指定的输入参数数匹配。
“内联脚本” 将要使用的内联脚本写入或复制到此文本框中。 有效的语言和脚本包括:C#、JScript .NET、Visual Basic .NET、XSLT 和 XSLT 调用模板。

仅当 “选择脚本类型” 设置为“ 内联 ”设置之一时,此字段才可用。 谨慎: 避免多次使用相同的方法签名。 如果多个“脚本”functoid 具有相同的方法签名,则 BizTalk 会选择实现的第一个方法签名,而忽略其他签名。

下图显示了如何使用 C# .Net 脚本在映射中显示 脚本 functoid 以重新设置电话号码格式。

使用 C# 映射来设置电话号码的格式。
“脚本”Functoid 映射

本节内容