为 SQL Server 项目生成 WCF 客户端或 WCF 服务协定

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

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

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

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

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

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

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

  • WCF 客户端代码文件。 此文件包含为所选操作生成的 WCF 客户端类和帮助程序代码。 首次运行“添加适配器服务引用 Visual Studio 插件”时,它将使用默认名称 SQLAdapterBindingClient.cs 生成此文件。 如果再次运行它,则它生成的下一个文件将称为 SQLAdapterBindingClient1.cs。 生成的每个新文件的数字后缀将增加 1。 在选择“确定”以生成文件之前,还可以通过在“添加适配器服务引用 Visual Studio 插件”的“文件名前缀”字段中输入其他前缀来更改默认前缀 SQLBinding

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

    重要

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

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

对于轮询SQL Server数据库或从数据库接收通知等入站操作,SQL 适配器在轮询) 时执行客户端应用程序指定的查询 (,或者在通知) 时向SQL Server (注册查询。 在这两种情况下,适配器会将入站消息从SQL Server数据库发送到使用方。 在这种情况下,使用应用程序充当服务,SQL 适配器充当客户端。 因此,必须实现可从适配器接收入站操作的 WCF 服务。 为此,请使用添加适配器服务引用插件生成一个 .NET 接口,该接口表示适配器为入站操作显示的服务协定。 此 .NET 接口也称为 WCF 服务协定。 然后,实现此接口以创建可用于接收入站操作的 WCF 服务。

执行以下步骤,使用添加适配器服务引用插件生成 WCF 服务协定。

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

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

  2. 添加适配器服务引用”对话框打开后,按照在 Visual Studio 中使用添加适配器服务引用插件连接到 SQL Server 中的步骤连接到 SQL Server 数据库。

    重要

    如果要为 TypedPolling 入站操作生成 WCF 服务协定,则必须将 InboundID 指定为连接 URI 和 PollingStatement 绑定属性的一部分。

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

  4. “选择类别 ”框中,单击根节点 (/) ,从“ 可用类别和操作 ”框中选择入站操作,然后单击“ 添加”。

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

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

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

  • SqlAdapterBindingService.cs。 此文件包含实现 SqlAdapterBindingInterface.cs 中定义的接口的类。 可以实现处理入站操作返回的记录的业务逻辑。

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

    重要

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

使用 svcutil.exe 生成 WCF 客户端类

可以使用 svcutil.exe 为应用程序生成 WCF 客户端类。 必须配置 svcutil.exe 才能将其与 SQL 适配器一起使用。

Svcutil.exe 在默认文件名为 output.cs 的输出文件中生成 WCF 客户端类。 必须手动将此文件包含在 Visual Studio 项目中。 有关 svcutil.exe 的详细信息,请参阅 ServiceModel 元数据实用工具 (Svcutil.exe)

另请参阅

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