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

使用 WCF-Custom 和 WCF-CustomIsolated 适配器启用三个 WCF 扩展点(行为扩展、绑定元素扩展和绑定扩展)。 为此,首先在全局程序集缓存中安装实现 WCF 扩展点的程序集 (GAC) ,然后修改计算机上的 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. 此命令将程序集安装到 GAC,覆盖任何具有相同程序集名称的现有程序集。

  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-Custom ”或“ WCF-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> 元素。 例如,若要启用自定义绑定元素扩展,请在 machine.config 文件的配置>元素中添加<以下代码:

    <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-Custom ”或“ WCF-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 文件的配置>元素中添加这些元素<,然后在 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-Custom ”或“ WCF-CustomIsolated ”,然后单击“ 配置”。
  5. 如果要将发送端口配置为使用 WCF 扩展点,请在 BizTalk 管理控制台中,依次展开 BizTalk 组<BizTalk 应用程序>发送端口,然后在右窗格中双击“发送端口>”。<

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

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

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

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

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