可以使用“添加适配器服务引用 Visual Studio 插件”生成针对 SQL Server 项目上所选作的 WCF 客户端类。 还可以使用 ServiceModel 元数据实用工具工具(svcutil.exe)生成 WCF 客户端类;但是,添加适配器服务引用插件通过标准 Microsoft Windows 接口公开 ServiceModel 元数据实用工具工具的功能。 它还提供 svcutil.exe 工具不可用的浏览和搜索功能,并根据连接到 SQL Server 数据库时选择的绑定属性生成配置文件。
使用“添加适配器服务引用插件”生成 WCF 客户端类
执行以下步骤,使用“添加适配器服务引用插件”生成 WCF 客户端类。
在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“ 添加适配器服务引用”。
打开 “添加适配器服务引用” 对话框后,请按照 在 Visual Studio 中使用 SQL 适配器获取 SQL Server 操作的元数据 中的步骤连接到 SQL Server,然后浏览和搜索操作。 若要为您选择的操作创建 WCF 客户端类,请确保从“选择协定类型”下拉列表中选择“客户端”(出站操作)。 (这是默认值)。
选择目标为的所有操作后,单击“确定”以生成 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 服务协定
在 Visual Studio 解决方案资源管理器中,右键单击项目,然后单击“ 添加适配器服务引用”。
“ 添加适配器服务引用 ”对话框打开后,请按照 Visual Studio 中使用“添加适配器服务引用插件”连接到 SQL Server 数据库中的步骤连接到 SQL Server 数据库。
重要
如果为 TypedPolling 入站操作生成 WCF 服务协定,则必须将 InboundID 作为连接 URI 和 PollingStatement 绑定属性的一部分进行指定。
连接到 SQL Server 数据库后,从“选择协定类型”下拉列表中选择“服务”(入站作)。
在 “选择类别 ”框中,单击根节点(/),从 “可用类别和作 ”框中选择入站作,然后单击“ 添加”。
若要为入站操作生成 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 在输出文件中生成 WCF 客户端类,其默认文件名 为 output.cs。 必须在 Visual Studio 项目中手动包含此文件。 有关 svcutil.exe的详细信息,请参阅 ServiceModel 元数据实用工具工具(Svcutil.exe)。