如何启用 WCF 适配器的 WCF 扩展点
使用 WCF-Custom 和 WCF-CustomIsolated 适配器启用三个 WCF 扩展点(行为扩展、绑定元素扩展和绑定扩展)。 为此,首先在全局程序集缓存中安装实现 WCF 扩展点的程序集 (GAC) ,然后修改计算机上的 machine.config 文件,然后使用 BizTalk Server 管理控制台配置 WCF-Custom 或 WCF-CustomIsolated 适配器。
有关 WCF 扩展点的详细信息,请参阅扩展 WCF。
必备条件
使用属于 BizTalk Server 管理员组成员的帐户登录。 部署和管理 BizTalk 应用程序所需的权限 提供了详细信息。
在 GAC 中安装实现 WCF 扩展点的程序集
将实现 WCF 扩展点的程序集复制到本地计算机上的某一文件夹中。
将 WCF 扩展点所使用的程序集(如果有)复制到本地计算机上的某一文件夹中。
启动 Visual Studio 命令提示符。
输入以下命令:
gacutil.exe /if ”<程序集 .dll 文件>的路径”
此命令将程序集安装到 GAC,覆盖任何具有相同程序集名称的现有程序集。
在 Visual Studio 命令提示符下,对在此过程的步骤 1 和 2 中复制的所有程序集重复步骤 4 和 5。
如果有多个BizTalk Server运行时计算机和管理计算机,请在所有计算机上重复此过程的步骤 1 到 6。
注意
若要启用 WCF 适配器的 WCF 扩展点,运行该适配器的 BizTalk 主机实例必须能够在运行时加载在其中实现 WCF 扩展点的程序集。
为 WCF 绑定扩展配置 machine.config 文件
在命令提示符下,转到 %FrameworkDir%\v4。X.XXXXX\CONFIG 文件夹,然后使用记事本打开 machine.config 文件。
在记事本中,如果 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 。
在记事本中,保存 machine.config 文件。
如果您具有多个 BizTalk Server 运行时计算机和管理计算机,则在所有计算机上重复此过程的步骤 1 至 3。
注意
必须在 WCF 基础结构的所有计算机上重复这些步骤,才能处理 BizTalk 主机实例和 BizTalk Server 管理控制台的 WCF 扩展点。
使用 BizTalk 管理控制台配置 WCF 绑定扩展
打开 “BizTalk Server 管理”。
注意
如果已打开 BizTalk Server 管理控制台,请重启 BizTalk Server 管理控制台。
如果使用 WCF-Custom 适配器,请在 BizTalk Server 管理控制台中展开“平台设置”,展开“主机实例”,然后重启运行该适配器的 BizTalk 主机实例。
如果使用 WCF-CustomIsolated 适配器,则在 IIS 管理控制台中重新启动与 WCF 接收位置相关联的应用程序池。
如果要将接收位置配置为使用 WCF 扩展点,请在BizTalk Server管理控制台中,依次展开“BizTalk 组”、“<BizTalk 应用程序>”、“接收位置”,然后在右窗格中双击“接收位置>”。<
- 在“ 接收位置属性 ”对话框的“ 类型 ”下拉列表中,根据要使用的 WCF 适配器,选择“ WCF-Custom ”或“ WCF-CustomIsolated ”,然后单击“ 配置”。
如果要将发送端口配置为使用 WCF 扩展点,请在BizTalk Server管理控制台中,依次展开 BizTalk 组、<BizTalk 应用程序>、发送端口,然后在右窗格中双击“发送端口>”。<
- 在 “发送端口属性 ”对话框的“ 类型 ”下拉列表中,选择“ WCF-Custom”,然后单击“ 配置”。
在传输属性对话框中的“ 绑定 ”选项卡上,选择绑定扩展,然后配置传输的其余设置。
在BizTalk Server管理控制台中,通过单击“确定”按钮关闭所有打开的对话框,并确保未显示错误消息和错误事件日志。
为 WCF 绑定元素扩展配置 machine.config 文件
在命令提示符下,转到 %FrameworkDir%\v4。X.XXXXX\CONFIG 文件夹,然后使用记事本打开 machine.config 文件。
在记事本中,如果 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 。
在记事本中,保存 machine.config 文件。
如果您具有多个 BizTalk Server 运行时计算机和管理计算机,则在所有计算机上重复此过程的步骤 1 至 3。
注意
必须在 WCF 基础结构的所有计算机上重复这些步骤,才能处理 BizTalk 主机实例和 BizTalk Server 管理控制台的 WCF 扩展点。
使用 BizTalk 管理控制台配置 WCF 绑定元素扩展
打开 “BizTalk Server 管理”。
注意
如果已打开 BizTalk Server 管理控制台,请重启 BizTalk Server 管理控制台。
如果使用 WCF-Custom 适配器,请在 BizTalk Server 管理控制台中展开“平台设置”,展开“主机实例”,然后重启运行该适配器的 BizTalk 主机实例。
如果使用 WCF-CustomIsolated 适配器,则在 IIS 管理控制台中重新启动与 WCF 接收位置相关联的应用程序池。
如果要将接收位置配置为使用 WCF 扩展点,请在BizTalk Server管理控制台中,依次展开“BizTalk 组”、“<BizTalk 应用程序>”、“接收位置”,然后在右窗格中双击“接收位置>”。<
- 在“ 接收位置属性 ”对话框的“ 类型 ”下拉列表中,根据要使用的 WCF 适配器,选择“ WCF-Custom ”或“ WCF-CustomIsolated ”,然后单击“ 配置”。
如果要将发送端口配置为使用 WCF 扩展点,请在BizTalk Server管理控制台中,依次展开 BizTalk 组、<BizTalk 应用程序>、发送端口,然后在右窗格中双击“发送端口>”。<
- 在 “发送端口属性 ”对话框的“ 类型 ”下拉列表中,选择“ WCF-Custom”,然后单击“ 配置”。
在传输属性对话框中的“ 绑定 ”选项卡上的“ 绑定类型 ”下拉列表中,选择“ customBinding”。
在传输属性对话框中的“ 绑定 ”选项卡上,右键单击“ 绑定 ”列表的工作区,然后单击“ 添加扩展”。
在 “选择绑定元素扩展 ”对话框中,选择绑定元素扩展,然后单击“ 确定”。
在传输属性对话框中的“ 绑定 ”选项卡上,根据在上一步中添加的绑定元素扩展的类型,调整“ 绑定 ”列表中添加的绑定元素的顺序,如下所示:
在 “绑定 ”列表中,右键单击绑定元素扩展,然后单击“ 上移扩展 ”或“ 下移扩展”。 绑定 列表中的最低 绑定元素扩展对应于通道堆栈的底部组件。 “ 绑定 ”列表中的最高绑定元素对应于通信堆栈的顶部组件。
注意
有关 自定义绑定 的绑定元素的特定顺序的详细信息,请参阅自定义绑定。
在“传输属性”对话框中,为传输配置其余设置。
在BizTalk Server管理控制台中,通过单击“确定”按钮关闭所有打开的对话框,并确保未显示错误消息和错误事件日志。
为 WCF 行为扩展配置 machine.config 文件
在命令提示符下,转到 %FrameworkDir%\v4。X.XXXXX\CONFIG 文件夹,然后使用记事本打开 machine.config 文件。
在记事本中,如果 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 。
在记事本中,保存 machine.config 文件。
如果您具有多个 BizTalk Server 运行时计算机和管理计算机,则在所有计算机上重复此过程的步骤 1 至 3。
注意
必须在 WCF 基础结构的所有计算机上重复这些步骤,才能处理 BizTalk 主机实例和 BizTalk Server 管理控制台的 WCF 扩展点。
使用 BizTalk 管理控制台配置 WCF 行为扩展
打开 “BizTalk Server 管理”。
注意
如果已打开 BizTalk Server 管理控制台,请重启 BizTalk Server 管理控制台。
如果使用 WCF-Custom 适配器,请在 BizTalk Server 管理控制台中展开“平台设置”,展开“主机实例”,然后重启运行该适配器的 BizTalk 主机实例。
如果使用 WCF-CustomIsolated 适配器,则在 IIS 管理控制台中重新启动与 WCF 接收位置相关联的应用程序池。
如果要将接收位置配置为使用 WCF 扩展点,请在 BizTalk 管理控制台中,依次展开 BizTalk 组、<BizTalk 应用程序>、接收位置,然后在右窗格中双击“接收位置>”。<
- 在“ 接收位置属性 ”对话框的“ 类型 ”下拉列表中,根据要使用的 WCF 适配器,选择“ WCF-Custom ”或“ WCF-CustomIsolated ”,然后单击“ 配置”。
如果要将发送端口配置为使用 WCF 扩展点,请在 BizTalk 管理控制台中,依次展开 BizTalk 组、<BizTalk 应用程序>、发送端口,然后在右窗格中双击“发送端口>”。<
- 在 “发送端口属性 ”对话框的“ 类型 ”下拉列表中,选择“ WCF-Custom”,然后单击“ 配置”。
在传输属性对话框中的“ 行为 ”选项卡上,根据行为扩展的类型右键单击 “ServiceBehavior ”或“ EndpointBehavior ”,然后在“ 选择行为扩展 ”对话框中,选择行为扩展,然后单击“ 确定”。
在“传输属性”对话框中,为传输配置其余设置。
在BizTalk Server管理控制台中,通过单击“确定”按钮关闭所有打开的对话框,并确保未显示错误消息和错误事件日志。
使用 SSL 证书配置 WCF-Custom 接收位置
- 如果 WCF-Custom 接收位置恰好使用 HTTP 内核模式驱动程序 (HTTP.sys) (例如 httpsTransport 绑定元素),则对于安全套接字层 (SSL) 通信,接收位置必须为每个套接字注册证书, (IP 地址/端口组合) 。 使用 HttpCfg.exe 工具可将 SSL 证书绑定到计算机上的端口。 有关详细信息,请参阅 如何:使用 SSL 证书配置端口。