如何使用 WCF 适配器启用 WCF 扩展点

使用 WCF-Custom 和 WCF-CustomIsolated 适配器启用三个 WCF 扩展点(行为扩展、绑定元素扩展和绑定扩展)。 为此,首先在全局程序集缓存(GAC)中安装实现 WCF 扩展点的程序集,然后在计算机上修改 machine.config 文件,然后使用 BizTalk Server 管理控制台配置 WCF-Custom 或 WCF-CustomIsolated 适配器。

有关 WCF 扩展点的详细信息,请参阅 扩展 WCF

先决条件

使用属于 BizTalk Server 管理员组成员的帐户登录。 部署和管理 BizTalk 应用程序所需的权限 提供了详细信息。

在 GAC 中安装实现 WCF 扩展点的程序集

  1. 将实现 WCF 扩展点的程序集复制到您本地计算机的文件夹中。

  2. 将 WCF 扩展点使用的程序集(如果有)复制到本地计算机上的文件夹。

  3. 启动 Visual Studio 命令提示符

  4. 键入以下命令:

    gacutil.exe /if "<程序集 .dll 文件的路径>"

  5. 这会将程序集安装到全局程序集缓存中,替换具有相同程序集名称的任何现有程序集。

  6. 在 Visual Studio 命令提示符处,针对在此过程的步骤 1 和步骤 2 中复制的所有程序集重复步骤 4 和 5。

  7. 如果有多个 BizTalk Server 运行时计算机和管理计算机,请在所有这些计算机上重复此过程的步骤 1 到 6。

    注释

    若要为 WCF 适配器启用 WCF 扩展点,运行适配器的 BizTalk 主机实例必须在运行时能够加载实现 WCF 扩展点的程序集。

为 WCF 绑定扩展配置 machine.config 文件

  1. 在命令提示符下,转到 %FrameworkDir%\v4。X.XXXXX\CONFIG 文件夹,然后使用记事本打开 machine.config 文件。

  2. 在记事本中,如果 machine.config 文件没有 <system.serverModel>\<extensions> 元素,请将这些元素添加到 machine.config 文件的 <配置> 元素中,然后在 <system.serverModel>\<extensions> 元素中添加 WCF 绑定扩展的 <bindingExtensions> 元素。 例如,若要启用自定义绑定扩展 netHttpBinding,请在 machine.config 文件的配置>元素中添加<以下代码:

    <system.serviceModel>  
      <extensions>  
        <bindingExtensions>  
          <add name="netHttpBinding" type="Microsoft.Samples.Channels.NetHttpBindingCollectionElement, NetHttpBinding, Version=3.0.0.0, Culture=neutral, PublicKeyToken=5b637b51c4aaa2a8" />  
        </bindingExtensions>        
      </extensions>  
    </system.serviceModel>  
    

    注释

    • 可以使用命令 gacutil /lr<assembly_name>找到要注册的程序集的信息。
    • 请参阅此元素上的 bindingExtensions
  3. 在记事本中,保存 machine.config 文件。

  4. 如果有多台 BizTalk Server 运行时计算机和管理计算机,请在所有计算机上重复此操作步骤的第 1 到 3 步。

    注释

    必须在 WCF 基础结构的所有计算机上重复这些步骤,以处理 BizTalk 主机实例和 BizTalk Server 管理控制台的 WCF 扩展点。

使用 BizTalk 管理控制台配置 WCF 绑定扩展

  1. 打开 BizTalk Server 管理

    注释

    如果 BizTalk Server 管理控制台已打开,请重启 BizTalk Server 管理控制台。

  2. 如果使用 WCF-Custom 适配器,请在 BizTalk Server 管理控制台中展开平台设置、展开主机实例,然后重启运行适配器的 BizTalk 主机实例。

  3. 如果使用 WCF-CustomIsolated 适配器,请在 IIS 管理控制台中重启与 WCF 接收位置关联的应用程序池。

  4. 如果要将接收位置配置为使用 WCF 扩展点,请在 BizTalk Server 管理控制台中展开 BizTalk 组、展开 <BizTalk 应用程序>、展开 接收位置,然后在右窗格中双击 <“接收位置>”。

    • 在“ 接收位置属性 ”对话框中的“ 类型 ”下拉列表中,根据要使用的 WCF 适配器选择 WCF-CustomWCF-CustomIsolated ,然后单击“ 配置”。
  5. 如果要配置发送端口以使用 WCF 扩展点,请在 BizTalk Server 管理控制台中展开 BizTalk 组、展开 <BizTalk 应用程序>、展开 发送端口,然后在右窗格中双击 <“发送端口>”。

    • “发送端口属性 ”对话框中的“ 类型 ”下拉列表中,选择 WCF-Custom,然后单击“ 配置”。
  6. 在“传输属性”对话框中的“ 绑定 ”选项卡上,选择绑定扩展,然后配置传输的其余设置。

  7. 在 BizTalk Server 管理控制台中,通过单击 “确定 ”按钮关闭所有打开的对话框,并确保不会显示错误消息和错误事件日志。

为 WCF 绑定元素扩展配置 machine.config 文件

  1. 在命令提示符下,转到 %FrameworkDir%\v4。X.XXXXX\CONFIG 文件夹,然后使用记事本打开 machine.config 文件。

  2. 在记事本中,如果 machine.config 文件没有 <system.serverModel>\<extensions> 元素,请在 machine.config 文件的配置>元素中添加<这些元素,然后为 system.serverModel>\<extensions> 元素内的< WCF 绑定元素扩展添加 <bindingElementExtensions> 元素。 例如,若要启用自定义绑定元素扩展droppingInterceptor,请在 machine.config 文件的<configuration>元素中添加以下代码:

    <system.serviceModel>  
      <extensions>  
        <bindingElementExtensions>  
          <add name="droppingInterceptor" type="Microsoft.ServiceModel.Samples.DroppingServerElement, MessageInterceptor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=098514eef14aa34a"/>  
        </bindingElementExtensions>  
      </extensions>  
    </system.serviceModel>  
    

    注释

    • 可以使用命令 gacutil /lr<assembly_name>找到要注册的程序集的信息。
    • 请参阅此元素上的 bindingElementExtensions
  3. 在记事本中,保存 machine.config 文件。

  4. 如果您有多个 BizTalk Server 运行时计算机和管理计算机,请在所有这些计算机上重复执行该过程的第 1 至 3 步。

    注释

    必须在 WCF 基础结构的所有计算机上重复这些步骤,以处理 BizTalk 主机实例和 BizTalk Server 管理控制台的 WCF 扩展点。

使用 BizTalk 管理控制台配置 WCF 绑定元素扩展

  1. 打开 BizTalk Server 管理

    注释

    如果 BizTalk Server 管理控制台已打开,请重启 BizTalk Server 管理控制台。

  2. 如果使用 WCF-Custom 适配器,请在 BizTalk Server 管理控制台中展开平台设置、展开主机实例,然后重启运行适配器的 BizTalk 主机实例。

  3. 如果使用 WCF-CustomIsolated 适配器,请在 IIS 管理控制台中重启与 WCF 接收位置关联的应用程序池。

  4. 如果要将接收位置配置为使用 WCF 扩展点,请在 BizTalk Server 管理控制台中展开 BizTalk 组、展开 <BizTalk 应用程序>、展开 接收位置,然后在右窗格中双击 <“接收位置>”。

    • 在“ 接收位置属性 ”对话框中的“ 类型 ”下拉列表中,根据要使用的 WCF 适配器选择 WCF-CustomWCF-CustomIsolated ,然后单击“ 配置”。
  5. 如果要配置发送端口以使用 WCF 扩展点,请在 BizTalk Server 管理控制台中展开 BizTalk 组、展开 <BizTalk 应用程序>、展开 发送端口,然后在右窗格中双击 <“发送端口>”。

    • “发送端口属性 ”对话框中的“ 类型 ”下拉列表中,选择 WCF-Custom,然后单击“ 配置”。
  6. 在“传输属性”对话框中的“ 绑定 ”选项卡上的“ 绑定类型 ”下拉列表中,选择 customBinding

  7. 在“传输属性”对话框中的“ 绑定 ”选项卡上,右键单击 绑定 列表的工作区,然后单击“ 添加扩展”。

  8. “选择绑定元素扩展 ”对话框中,选择绑定元素扩展,然后单击“ 确定”。

  9. 在“传输属性”对话框中的“ 绑定 ”选项卡上,根据在上一步中添加的绑定元素扩展的类型调整 绑定 元素的顺序,如下所示:

    • “绑定 ”列表中,右键单击绑定元素扩展,然后单击“ 上移扩展 ”或“ 下移扩展”。 绑定列表中的最低绑定元素扩展对应于通道堆栈的底部组件。 绑定列表中的最高绑定元素对应于通信堆栈的顶部组件。

      注释

      有关自定义绑定的绑定元素的特定顺序的详细信息,请参阅 自定义 绑定。

  10. 在传输属性对话框中,配置传输的其余设置。

  11. 在 BizTalk Server 管理控制台中,通过单击 “确定 ”按钮关闭所有打开的对话框,并确保不会显示错误消息和错误事件日志。

为 WCF 行为扩展配置 machine.config 文件

  1. 在命令提示符下,转到 %FrameworkDir%\v4。X.XXXXX\CONFIG 文件夹,然后使用记事本打开 machine.config 文件。

  2. 在记事本中,如果 machine.config 文件没有 <system.serverModel><extensions> 元素,请在 machine.config 文件的 <configuration> 元素中添加这些元素,然后在 <system.serverModel><extensions> 元素内为 WCF 行为扩展添加 <behaviorExtensions> 元素。 例如,若要启用自定义行为扩展 schemaValidator,请在 machine.config 文件的配置>元素中添加<以下代码:

    <system.serviceModel>  
      <extensions>  
        <behaviorExtensions>  
          <add name="schemaValidator" type="Microsoft.ServiceModel.Samples.SchemaValidationBehaviorExtensionElement, MessageInspectors, Version=1.0.0.0, Culture=neutral, PublicKeyToken=ad307e213604f592"/>  
        </behaviorExtensions>  
      </extensions>  
    </system.serviceModel>  
    

    注释

    • 可以使用命令 gacutil /lr<assembly_name>找到要注册的程序集的信息。
    • 请参阅此元素上的 behaviorExtensions
  3. 在记事本中,保存 machine.config 文件。

  4. 如果您有多个 BizTalk Server 运行时计算机和管理计算机,请在所有这些计算机上重复执行该过程的第 1 至 3 步。

    注释

    必须在 WCF 基础结构的所有计算机上重复这些步骤,以处理 BizTalk 主机实例和 BizTalk Server 管理控制台的 WCF 扩展点。

使用 BizTalk 管理控制台配置 WCF 行为扩展

  1. 打开 BizTalk Server 管理

    注释

    如果 BizTalk Server 管理控制台已打开,请重启 BizTalk Server 管理控制台。

  2. 如果使用 WCF-Custom 适配器,请在 BizTalk Server 管理控制台中展开平台设置、展开主机实例,然后重启运行适配器的 BizTalk 主机实例。

  3. 如果使用 WCF-CustomIsolated 适配器,请在 IIS 管理控制台中重启与 WCF 接收位置关联的应用程序池。

  4. 如果要将接收位置配置为使用 WCF 扩展点,请在 BizTalk 管理控制台中展开 BizTalk 组、展开 <BizTalk 应用程序>、展开 接收位置,然后在右侧窗格中双击 <“接收位置>”。

    • 在“ 接收位置属性 ”对话框中的“ 类型 ”下拉列表中,根据要使用的 WCF 适配器选择 WCF-CustomWCF-CustomIsolated ,然后单击“ 配置”。
  5. 如果要将发送端口配置为使用 WCF 扩展点,请在 BizTalk 管理控制台中展开 BizTalk 组、展开 <BizTalk 应用程序>、展开 发送端口,然后在右窗格中双击 <“发送端口>”。

    • “发送端口属性 ”对话框中的“ 类型 ”下拉列表中,选择 WCF-Custom,然后单击“ 配置”。
  6. 在传输属性对话框中的“ 行为 ”选项卡上,右键单击 ServiceBehaviorEndpointBehavior ,具体取决于行为扩展的类型,然后在 “选择行为扩展 ”对话框中,选择行为扩展,然后单击“ 确定”。

  7. 在传输属性对话框中,配置传输的其余设置。

  8. 在 BizTalk Server 管理控制台中,通过单击 “确定 ”按钮关闭所有打开的对话框,并确保不会显示错误消息和错误事件日志。

使用 SSL 证书配置 WCF-Custom 接收位置

  • 如果 WCF-Custom 接收位置恰好使用 HTTP 内核模式驱动程序(HTTP.sys),例如 httpsTransport 绑定元素(对于安全套接字层(SSL)通信,则接收位置必须为每个套接字(IP 地址/端口组合)注册证书。 使用 HttpCfg.exe 工具将 SSL 证书绑定到计算机上的端口。 有关详细信息,请参阅 如何:使用 SSL 证书配置端口