为 Oracle 数据库解决方案项目生成 WCF 客户端或 WCF 服务协定

可以使用添加适配器服务引用 Visual Studio 插件生成 WCF 客户端类或 WCF 服务协定 (接口) 针对 Oracle 数据库项目的选定操作。 还可以使用 ServiceModel 元数据实用工具 (svcutil.exe) 生成 WCF 客户端类或 WCF 服务协定;但是,添加适配器服务引用插件通过标准 Microsoft Windows 接口公开 ServiceModel 元数据实用工具的功能。 它还提供 svcutil.exe 工具无法提供的浏览和搜索功能,并根据连接到 Oracle 数据库时选择的绑定属性生成配置文件。

使用添加适配器服务引用插件生成客户端类

执行以下步骤,使用添加适配器服务引用插件生成 WCF 客户端类。

生成 WCF 客户端类

  1. 在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“添加适配器服务引用”。

  2. 添加适配器服务引用 ”对话框打开后,按照 在 Visual Studio 中检索 Oracle 操作的元数据中的 步骤连接到 Oracle 数据库并浏览和搜索操作。 若要为所选操作创建 WCF 客户端类,请确保从“选择协定类型”下拉列表中选择“客户端 (出站操作 ) ”, (这是默认) 。

  3. 选择要面向的所有操作后,单击“ 确定 ”生成 WCF 客户端类。

    添加适配器服务引用插件将两个文件添加到项目:

  • OracleDBBindingClient.cs。 此文件包含为所选操作生成的 WCF 客户端类和帮助程序代码。

  • App.config。此文件包含绑定配置和客户端终结点配置。 这些配置基于你在为添加适配器服务引用插件配置绑定和连接时所做的选择。

    重要

    使用添加适配器服务引用 Visual Studio 插件时,如果未为字符串类型的绑定属性指定值,并且其默认值为 null,则该绑定属性在 app.config 文件中不可用。 如果需要,必须在 app.config 文件中手动添加绑定属性及其值。

使用添加适配器服务引用插件生成 WCF 服务协定

适配器公开入站操作,使 Oracle 数据库能够将消息发送到适配器客户端。 对于此类操作,必须生成 WCF 服务协定。 例如,适配器公开入站 POLLINGSTMT 操作来轮询 Oracle 数据库。 Oracle 数据库适配器执行 PollingStatement 绑定属性指定的查询,并将结果集发送到 POLLINGSTMT 消息中的使用应用程序。 在此方案中,使用方应用程序充当服务,Oracle 数据库适配器充当客户端。 因此,必须实现可从适配器接收 POLLINGSTMT 操作的 WCF 服务。 为此,请使用添加适配器服务引用插件生成一个 .NET 接口,该接口表示由用于 POLLINGSTMT 操作的适配器显示的服务协定。 此 .NET 接口也称为 WCF 服务协定。 然后实现此接口以创建可用于接收 POLLINGSTMT 操作的 WCF 服务。

本部分介绍如何使用为适配器公开的入站操作使用添加适配器服务引用插件生成 WCF 服务协定。

为入站操作生成 WCF 服务协定

  1. 在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“添加适配器服务引用”。

  2. 添加适配器服务引用 ”对话框打开后,按照 在 Visual Studio 中检索 Oracle 操作的元数据 中的步骤连接到 Oracle 数据库。 连接到 Oracle 数据库进行入站操作时,可能需要设置几个绑定属性和 URI 属性。 例如,对于 (POLLINGSTMT) 的入站轮询操作,必须在配置与 Oracle 数据库的连接时指定 PollingStatement 绑定属性。 Oracle 数据库适配器使用此属性中指定的 SQL SELECT 语句生成表示 POLLINGSTMT 操作返回的结果集的类。

  3. 连接到 Oracle 数据库后,从“选择协定类型”下拉列表中选择“服务 (入站操作) ”。

  4. “选择类别 ”框中,单击 (/) 根节点,然后浏览到要为其生成服务协定的操作。 例如,对于轮询操作,请从“可用类别和操作”框中选择“POLLINGSTMT”,然后单击“添加”。

  5. 若要为 POLLINGSTMT 操作生成 WCF 服务协定,请单击“ 确定”。

    添加适配器服务引用插件向项目添加三个文件:

  • OracleDBBindingInterface.cs。 此文件包含为 POLLINGSTMT 操作生成的 WCF 服务协定 (接口) 和帮助程序代码。

  • OracleDBBindingService.cs。 此文件包含实现 OracleDBBindingInterface.cs 中定义的接口的类。 可以实现业务逻辑,用于处理此类中 POLLINGSTMT 方法中的轮询查询返回的记录。

  • App.config。此文件包含绑定配置、终结点行为和服务终结点配置,这些配置基于你在为添加适配器服务引用插件配置绑定和连接时所做的选择。

    重要

    使用添加适配器服务引用 Visual Studio 插件时,如果未为字符串类型的绑定属性指定值,并且其默认值为 null,则该绑定属性在 app.config 文件中不可用。 如果需要,必须在 app.config 文件中手动添加绑定属性及其值。

使用 svcutil.exe 生成 WCF 客户端类或 WCF 服务协定

可以使用 svcutil.exe 为应用程序生成 WCF 客户端类或 WCF 服务接口。 必须配置 svcutil.exe 才能将其与 Oracle 数据库适配器一起使用。 有关在 Oracle 数据库适配器中配置和使用 svcutil.exe 的详细信息,请参阅 将 ServiceModel 元数据实用工具与用于 Oracle 数据库的 BizTalk 适配器配合使用

Svcutil.exe 在输出文件中生成 WCF 客户端类或 WCF 服务协定。 默认文件名为 output.cs。 必须手动将此文件包含在 Visual Studio 项目中。

另请参阅

使用 WCF 服务模型开发 Oracle 数据库应用程序
使用 WCF 服务模型在 SQL 中执行基本插入、更新、删除和选择操作