在 .NET 项目中使用 WCF LOB Adapter SDK 的适配器

要想使用通过 Visual Studio 中的 WCF LOB 适配器 SDK 构建的适配器,必须在项目中添加服务引用。 可以通过以下方式达到此目的:

  • 使用作为 WCF LOB 适配器 SDK 的一部分安装的“添加适配器服务引用 Visual Studio 插件”。

  • 使用作为 Windows SDK 的一部分安装的 svcutil.exe (ServiceModel 元数据实用工具)。

使用“添加适配器服务引用插件”添加服务引用

“添加适配器服务引用插件”可以用于浏览和搜索元数据,并且可以通过使用所选操作和类型来生成 .NET CLR 代理类。

  1. 在 Visual Studio 中打开 .NET 应用程序。

  2. 在 Visual Studio 中,右键单击 “项目” 菜单,然后单击“ 添加适配器服务引用”。

    注释

    此选项不会针对 BizTalk Server 项目显示。

  3. 在“添加适配器服务引用插件”屏幕的 “选择绑定 ”下拉列表中,选择适配器绑定。

  4. 若要配置所选适配器绑定的连接 URI,并提供任何凭据、URI 属性和绑定属性,请单击“ 配置”。 实际要求因所选适配器绑定而异。

  5. 配置 URI 后,单击“ 确定”。

  6. 单击连接。 如果连接 URI 有效并且客户端凭据(如果有)被接受,则应使用适配器提供的类别和操作填充类别窗格。

  7. 如果适配器支持搜索,则搜索字段将处于活动状态。 否则,您可以通过单击 “类别” 窗格中的节点,按合同类型进行筛选,并浏览类型和操作。

  8. 对于高级代理生成选项,请单击“ 高级”。 您的选择包括:

    选项 等效 svcutil.exe 选项 DESCRIPTION
    生成异步方法 /异步 生成同步和异步方法签名。

    默认值(如果未选中):仅生成同步方法签名。
    生成消息协定 /消息契约 生成消息协定类型。
    将类型设为内部 /内部 生成标记为internal的类。

    默认值(如果未选中):生成公共类。
    启用数据绑定 /enableDataBinding 在所有数据协定类型上实现 System.ComponentModel.INotifyPropertyChanged 接口以启用数据绑定。
    将非数据类型导入为 IXmlSerializable /importXmlTypes 将数据协定序列化程序配置为将非数据协定类型导入为 IXmlSerializable 类型。
    生成通道接口 生成通道接口。
    标记可序列化的类 选择是否使用序列化程序生成数据类型。
    不生成 app.config /noConfig 不生成应用程序配置文件。
    序列化器

    自动
    /serializer:Auto 自动选择序列化和反序列化的工具。
    序列化器

    DataContract Serializer
    /serializer:DataContractSerializer 生成使用数据协定序列化程序进行序列化和取消序列化的数据类型
    序列化器

    XmlSerializer
    /serializer:XmlSerializer 生成使用 XmlSerializer 进行序列化和反序列化的数据类型。
  9. 若要生成代理项目,请单击“ 确定”。 文物数量因合同类型而异。

    协定类型 项目 DESCRIPTION
    出站 CLR WCF 代理 包含合同和服务实现。
    出站 App.config 包含 <endpoint> 和 <bindings> 元素用于 <system.ServiceModel><client>。
    入站 CLR WCF 服务接口 包含合同。
    入站 CLR WCF 服务实现 派生自合约的存根实现。
    入站 App.config 包含 <终结点>、<绑定>和<行为>元素用于 <system.ServiceModel><服务>。
  10. 现在可以在应用程序中使用该代理。

使用 svcutil.exe 添加服务引用

Svcutil.exe 是一个命令行实用工具,可用于检索元数据并生成 .NET CLR 代理类,然后可将其添加到 Visual Studio 项目中。 有关 svcutil.exe的详细信息,请参阅 ServiceModel 元数据实用工具工具(Svcutil.exe)。

从在 IIS 上托管的适配器中生成代理类

  1. 在命令提示符下,输入 svcutil.exe“<http://localhost/adapter/AdapterService.svc?wsdl”> /config:app.config。将 HTTP 路径替换为托管适配器的正确路径。 这会创建一个.cs文件,其中包含.NET CLR代理和output.config,并且其中包含<绑定>和<系统服务模型>的客户端>终结点<。

    注释

    如果适配器包含许多操作,则可以通过使用查询字符串“op=”后跟您感兴趣的操作名称来限制返回的操作。 例如:svcutil.exe “http://localhost/adapter/AdapterService.svc?wsdl&op=Echo/EchoString&op=Echo/EchoArray” 仅为 EchoString 和 EchoArray 生成代理代码。

  2. 在 Visual Studio 中打开项目。

    1. 解决方案资源管理器中,右键单击项目,指向 “添加”,然后单击“ 新建项”。 在“ 添加现有项 ”对话框中,选择之前创建的.cs和 app.config 文件。 单击 添加

    2. 解决方案资源管理器中,右键点击引用,然后点击添加引用。 在 .NET 选项卡上,选择 System.ServiceModel,然后单击“ 确定”。 现在可以在应用程序中使用该代理。

另请参阅

教程 1:开发 Echo 适配器
使用使用 WCF LOB 适配器 SDK 创建的适配器