可以使用“添加适配器服务引用 Visual Studio 插件”生成针对 Oracle 数据库构件的选定操作的 WCF 客户端类或 WCF 服务协定(接口)。 还可以使用 ServiceModel 元数据实用工具工具(svcutil.exe)生成 WCF 客户端类或 WCF 服务协定;但是,添加适配器服务引用插件通过标准 Microsoft Windows 接口公开 ServiceModel 元数据实用工具工具的功能。 它还提供 svcutil.exe 工具不可用的浏览和搜索功能,并根据连接到 Oracle 数据库时选择的绑定属性生成配置文件。
使用“添加适配器服务引用插件”生成客户端类
执行以下步骤,使用“添加适配器服务引用插件”生成 WCF 客户端类。
生成 WCF 客户端类
在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“ 添加适配器服务引用”。
打开 “添加适配器服务引用” 对话框后,请按照 Visual Studio 中的“检索 Oracle 操作元数据” 中的步骤连接到 Oracle 数据库,然后可以浏览和搜索操作。 要为您选择的操作创建 WCF 客户端类,请确保从“选择协定类型”下拉列表中选择“客户端(出站操作)”,这是默认值。
选择目标为的所有操作后,单击“确定”以生成 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 服务协定
在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“ 添加适配器服务引用”。
在“添加适配器服务引用”对话框打开后,请按照在 Visual Studio 中检索 Oracle 操作的元数据中的步骤连接到 Oracle 数据库。 连接到 Oracle 数据库进行入站作时,可能需要设置多个绑定属性和 URI 属性。 例如,在配置与 Oracle 数据库的连接时,必须指定 POLLINGSTMT 的 PollingStatement 绑定属性以用于入站轮询操作。 Oracle 数据库适配器使用此属性中指定的 SQL SELECT 语句生成表示 POLLINGSTMT作返回的结果集的类。
连接到 Oracle 数据库后,从“选择协定类型”下拉列表中选择“服务”(入站作)。
在“选择类别”框中,单击根节点(/),然后浏览到要为其生成服务合同的操作。 例如,对于轮询操作,请从“可用类别和操作”框中选择POLLINGSTMT,然后单击“添加”。
若要为 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 中执行基本插入、更新、删除和选择作