迁移 Functoids

将映射从旧版 BizTalk Server 迁移到 BizTalk Server 时,映射中包含的任何 functoid 也会迁移。 如果您所迁移的 functoid 不包含 脚本 functoid,则无需执行其他迁移任务。 但是,如果您的地图中包括 脚本功能体或自定义功能体,那么您可能需要执行额外步骤。

在早期版本的 BizTalk Server 中,所有包含在 Scripting functoid 中的自定义脚本都是以内联方式编写的。 也就是说,创建 functoid 时,运行时调用的 functoid 的所有脚本都与 functoid 一起存储。 如果想要将同一个脚本与不同的 functoid 一起使用,你要么从一个 functoid 复制并粘贴到另一个,要么从头开始重新编写脚本。

在迁移地图时,BizTalk Server 会将现有的内联脚本与 functoids 一起复制。 但是,并非所有脚本都可以正常运行。 BizTalk Server 使用 Visual Basic .NET 和 JScript .NET,而不是以前版本中使用的 VBScript 和 JScript。 语言的 .NET 版本包括语法中的一些更改。

注释

请务必在迁移后测试您的脚本函数点。

您需要重写自定义功能块。 BizTalk Server 期望自定义 functoids 使用 .NET Framework。 它不能使用旧的、基于 COM 的自定义功能单元。 可以重写自定义的 functoid 以便使用 .NET Framework。 有关自定义 functoid 的示例代码,请参阅自定义 Functoid (BizTalk Server 示例)。

另一种方法是将自定义 functoid 的功能封装在一个外部程序集里,并通过Scripting functoid 调用该程序集。 以下部分介绍此过程。

迁移自定义 Functoids

  1. 使用 .NET 语言重新创建 functoid 的功能,例如 Microsoft Visual Basic .NET、JScript .NET 或 Microsoft Visual C# .NET。

  2. 创建一个程序集以包含新功能。

  3. 在全局程序集缓存中注册程序集。

    注释

    若要在全局程序集缓存中注册程序集,它们必须具有强命名和签名。 有关注册程序集的详细信息,请参阅 Visual Studio 组合集合中的“全局程序集缓存”。

  4. 在包含Scripting functoid 的映射与包含重写功能的程序集之间创建引用。

  5. Scripting functoid 配置 Script 属性。 此属性决定在运行时 脚本功能单元 调用的具体脚本。 必须将此属性的值与将自定义脚本转换为的语言匹配。 有关如何配置 Script 属性的详细信息,请参阅 编辑 Functoid 属性和输入参数。 另请参阅 脚本功能节点

  6. 使用 Scripting functoid 生成包含映射的 BizTalk 项目。

  7. 验证并测试地图。

另请参阅

编辑 Functoid 属性和输入参数
编写 Functoid 脚本