编写 Functoid 脚本

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

Scripting functoid 支持以下语言:

  • C# .NET

  • JScript .NET

  • Visual Basic .NET

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

  • XSLT 呼叫模板

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

    可以使用在早期版本的 BizTalk 映射器中创建的 脚本功能单元,与当前版本的 BizTalk 映射器一起使用。 但是,必须先迁移 functoid。 有关如何迁移 脚本 functoid 的详细信息,请参阅 迁移 Functoid

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

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

“配置脚本功能元对话框字段” DESCRIPTION
选择脚本类型 使用此字段选择要在此 脚本功能块中使用的脚本类型。

值:

- 外部程序集。 如果要将 Scripting functoid 与全局程序集缓存(GAC)中的程序集相关联,请使用此值。 警告: 外部程序集中的代码必须是线程安全的。 在压力条件下,映射的多个实例可能同时运行。
- 内联 C# 。 如果要将 脚本 functoid 与 Inline 脚本 缓冲区中的 C# 代码相关联,请使用此值。
- 内联 JScript .NET。 如果要将 脚本 functoid 与 Inline 脚本 缓冲区中的 JScript .NET 脚本相关联,请使用此值。
- 内联Visual Basic .NET语言。 如果要在内联脚本缓冲区中将 Scripting functoid 与 Visual Basic .NET 代码相关联,请使用此值。
- 内联 XSLT。 如果要在内联脚本缓冲区中将 Scripting functoid 与 XSLT 相关联,请使用此值。
- 内联 XSLT 调用模板。 如果要将 脚本 functoid 与 Inline 脚本 缓冲区中的 XSLT 调用模板相关联,请使用此值。
脚本组装 选择要与 Scripting 函数连接的程序集。 此列表中仅显示“项目”窗口中引用的程序集。 请注意,您必须在全局程序集缓存(GAC)中注册程序集。

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

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

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

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

使用 C# 映射来设置电话号码的格式。
脚本功能点映射

本节中