使用 SQL 适配器的 WCF 服务模型概述

适用于 SQL Server 的 Microsoft BizTalk 适配器将SQL Server操作公开为 WCF 服务。 若要对SQL Server项目执行操作(例如调用存储过程),请在适配器上调用操作,而适配器又对SQL Server执行操作。 因此,代码充当适配器提供的 WCF 服务的客户端。

在 Windows Communication Foundation (WCF) 服务模型中,客户端和服务之间的服务协定表示为 .NET 接口,操作表示为此接口的方法。 SQL 适配器和 WCF 提供的工具使你能够从适配器公开的元数据中为目标操作生成此接口。 这些工具还会创建一个 WCF 客户端类,该类可用于调用服务接口中公开的操作。 客户端应用程序可以调用 WCF 客户端类的方法,以调用适配器上的操作。 若要实现从 SQL 适配器接收入站操作的服务,需要实现为入站操作生成的接口。

以下部分介绍如何使用 WCF 服务模型调用 WCF 客户端的操作。

使用 WCF 客户端调用SQL Server上的操作

若要使用 WCF 服务模型调用 SQL 适配器上的操作,必须先为目标操作生成 WCF 客户端类。 然后,可以创建此类的实例、WCF 客户端,并调用其方法以在SQL Server系统上执行这些操作。 本部分概述了典型的 .NET 适配器客户端应用程序的外观。 具体主题提供了有关如何使用适配器对 SQL Server 数据库执行不同操作的详细说明。

调用 SQL 适配器上的操作

  1. 生成 WCF 客户端类和帮助程序代码。 使用添加适配器服务参考 Visual Studio 插件生成一个 WCF 客户端类,该类面向要使用的SQL Server数据库项目。 有关如何生成 WCF 客户端的详细信息,请参阅为SQL Server项目生成 WCF 客户端或 WCF 服务协定

  2. 创建 WCF 客户端实例并配置 WCF 客户端。 配置 WCF 客户端涉及指定绑定和终结点地址 (客户端将使用的连接 URI) 。 可以在代码中强制执行此操作,也可以在配置中以声明方式执行此操作。 以下代码创建一个 WCF 客户端,该客户端针对SQL Server数据库中的 Employee 表执行 Select 操作。 它还设置SQL Server数据库的凭据。 WCF 客户端是从配置初始化的。

    TableOp_dbo_EmployeeClient client = new TableOp_dbo_EmployeeClient("SqlAdapterBinding_TableOp_dbo_Employee"); //picking the binding and address from the app.config  
    
    client.ClientCredentials.UserName.UserName = "myuser";  
    client.ClientCredentials.UserName.Password = "mypassword";  
    

    注意

    可以在代码中指定客户端绑定和终结点地址,也可以在 app.config 配置文件中声明它。 前面的代码片段使用后者。 有关如何使用任一方法的详细信息,请参阅 为 SQL 适配器配置客户端绑定

  3. 打开 WCF 客户端。

    client.Open();  
    
  4. 调用在上一步中创建的 WCF 客户端上的方法,对 SQL Server 数据库执行 Select 操作。 以下代码调用 WCF 客户端的 Select 方法,以对SQL Server数据库表调用 SELECT 语句。

    client.Select("*", "where [Name] = ‘John Smith’");  
    
  5. 关闭 WCF 客户端。

    client.Close();  
    

另请参阅

使用 WCF 服务模型开发 SQL 应用程序