Readme_ServiceBrokerConfiguration

更新日期: 2005 年 12 月 5 日

此示例显示如何使用 SQL Server 管理对象 (SMO) 创建 Service Broker 对象。实现此示例的原因是必须使用几个 Windows 用户控件和类来创建 Service Broker 对象。

此示例针对的是那些希望了解如何使用 Service Broker SMO 以及了解如何创建 Windows 用户控件来管理 SQL Server 2005 对象的 Microsoft .NET Framework 开发人员。核心方案是由 Microsoft .NET Framework 开发人员创建自定义 Service Broker 管理应用程序。

提供的示例仅供教学使用。这些示例不是针对生产环境设计的,也没有在生产环境中进行测试。对于这些示例,Microsoft 不提供相关的技术支持。未经系统管理员允许,不得将示例应用程序和程序集与生产 SQL Server 数据库或报表服务器相连或一起使用。

要求

此示例要求安装下列组件:

  • .NET Framework SDK 2.0。您可以免费获取 .NET Framework SDK。有关详细信息,请参阅安装 .NET Framework SDK
  • SQL Server 2005 数据库引擎.

位置

如果代码示例安装到默认位置,则该示例将位于以下目录中:

C:\Program Files\Microsoft SQL Server\90\Samples\Engine\Programmability\SMO\ ServiceBrokerConfiguration

该示例代码的 C# 解决方案位于 CS 目录中。

生成示例

如果尚未创建强名称密钥文件,则请使用以下说明生成该密钥文件。

生成强名称密钥文件

  1. 打开 Microsoft Visual Studio 2005 命令提示符。单击“开始”,依次指向“所有程序”、“Microsoft .NET Framework SDK 2.0”,然后单击“SDK 命令提示符”

    - 或 -

    打开 Microsoft .NET Framework 命令提示符。单击“开始”,依次指向“所有程序”、“Microsoft .NET Framework SDK 2.0”,然后单击“SDK 命令提示符”

  2. 使用更改目录命令 (CD) 将命令提示符窗口的当前目录更改至安装示例的文件夹。

    ms345273.note(zh-cn,SQL.90).gif注意:
    若要确定示例所在的文件夹,请单击“开始”按钮,依次指向“所有程序”、“Microsoft SQL Server”、“文档和教程”,然后单击“示例目录”。如果使用了默认安装位置,则示例将位于 <system_drive>:\Program Files\Microsoft SQL Server\100\Samples 中。
  3. 在命令提示符下,运行以下命令以生成密钥文件:

    sn -k SampleKey.snk

    ms345273.note(zh-cn,SQL.90).gif重要事项:
    有关强名称密钥对的详细信息,请参阅 MSDN 上 .NET 开发中心中的“安全简讯:.NET Framework 中的强名称和安全性”。

生成 Visual Studio 解决方案

  1. 单击**“开始”,依次指向“所有程序”Microsoft .NET Framework SDK v2.0,再单击“SDK 命令提示”**。

  2. 找到示例的根文件夹。对于默认位置,请键入以下命令:

  3. [C#]

cd \Program Files\Microsoft SQL Server\90\``\Samples\Engine\Programmability\SMO\ServiceBrokerConfiguration\CS\

  1. 键入以下内容以生成 Visual Studio 解决方案:
    • msbuild

或者,如果使用的是 Visual Studio 2005,请执行以下操作:

  1. 打开 \CS\ConfigurationComponent.sln 解决方案文件。
  2. 按 F6 以生成解决方案。

设置 SQL Server 示例数据库和示例 XML 架构

  1. 定位 \CS\Script 文件夹。

  2. 从 SQL Server Management Studio 内打开并运行 setup.sql。

设置 SQL Server 主密钥(可选)

  1. 如果要设置远程服务绑定,请执行以下操作:

  2. 定位 \CS\Script 文件夹。

  3. 从 SQL Server Management Studio 内打开 masterkey.sql。

  4. 在 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 语句中输入 master 数据库键的密码。

  5. 在 CREATE MASTER KEY ENCRYPTION BY PASSWORD = 语句中输入 ssb_ConfigurationSample 数据库键的密码。

  6. 运行 masterkey.sql。

运行示例

运行示例

  1. C# 版本的默认位置为 C:\Program Files\Microsoft SQL Server\90\Samples\SMO\ServiceBrokerConfiguration\CS\SampleApplication\bin\Debug\SampleApplication.exe。

连接到本地 SQL Server 实例

  1. 在“服务器名称”字段中输入服务器名称,或接受默认(本地)服务器名称。

  2. 单击**“连接”**。

为新数据库配置示例。

  1. 单击**“对象”选项卡中的“选项”**。

  2. 输入脚本路径,或接受默认路径。脚本路径用于将脚本导出到文件中。

  3. 单击**“创建”“创建”**按钮配置示例,包括设置 BaseUrn。

创建 MessageTypes

  1. 单击**“新建”**,然后单击 MessageType

  2. 输入 ShippingRequest 作为 MessageType 名称。

  3. 单击**“创建”以创建新的 MessageType,单击“新建”,再单击“消息类型”**。

  4. 输入 ShippingAccept 作为 MessageType 名称。

  5. 单击**“创建”以创建新的 MessageType,单击“新建”,再单击“消息类型”**。

  6. 输入 ShippingComplete 作为 MessageType 名称。

  7. 单击**“创建”**以创建新的 MessageType。

创建约定

  1. 单击**“新建”,然后单击“约定”**。

  2. 选择 MessageTypeMappings 下拉菜单。

  3. 选择上面创建的所有 MessageType。

  4. 对于 ShippingAccept 和 ShippingComplete MessageSource,选择**“目标”**。

  5. 关闭 MessageTypeMappings 下拉菜单。

  6. 输入 Shipping 作为约定名称。

  7. 单击**“创建”**以创建一个新约定。

创建队列

  1. 单击**“新建”,然后单击“队列”**。

  2. 输入 ClientQueue 作为队列名称。

  3. 单击**“创建”以创建新队列,单击“新建”,然后单击“队列”**。

  4. 输入 ServerQueue 作为队列名称。

  5. 单击**“创建”**以创建一个新队列。

在未启用 RemoteServiceBinding 的情况下创建服务

  1. 单击**“新建”,然后单击“服务”**。

  2. 输入 ClientService 作为服务名称。

  3. 选择 ContractNames 下拉菜单并选择 Shipping 约定。

  4. 选择 QueueName 下拉菜单并选择 ClientQueue 队列。

  5. 输入或选择 ServiceOwnerName

  6. 单击**“创建”以创建新服务,然后单击“新建”**。

  7. 输入 ServerService 作为服务名称。

  8. 选择 ContractNames 下拉菜单并选择 Shipping 约定。

  9. 选择 QueueName 下拉菜单并选择 ServerQueue 队列。

  10. 输入或选择 ServiceOwnerName

  11. 单击**“创建”**以创建一个新服务。

在已启用 RemoteServiceBinding 的情况下创建服务

  1. 单击**“新建”,然后单击“服务”**。

  2. 输入 RemoteService 作为服务名称。

  3. 选择 ContractNames 下拉菜单并选择 Shipping 约定。

  4. 将 EnableRemoteService 设置为 TRUE。

  5. 选择 QueueName 下拉菜单并选择 ClientQueue 队列。

  6. 输入或选择 ServiceOwnerName

  7. 单击**“创建”以创建新服务,然后单击“新建”**。

启用远程服务的匿名访问

  1. 选择对象树内的 RemoteService

  2. 将 AllowAnonymous 设置为 TRUE。

  3. 单击**“更改”**以更改该服务。

创建目标实例端点

  1. 单击**“新建”,然后单击“目标实例端点”**。

  2. 输入名称,或接受默认名称。

  3. 单击**“创建”**。

设置脚本导出路径

  1. 如果**“对象”**选项卡未处于活动状态,则单击此选项卡。

  2. 单击**“选项”**。

  3. 输入有效脚本路径。

  4. 单击**“创建”**。

导出对象

  1. 在对象树内选择一个对象。

  2. 单击**“脚本”,然后单击“导出”**。

  3. 该对象将导出到在应用程序配置中设置的脚本路径。

将服务定义导出到文件中

  1. 从对象树内选择一个服务。

  2. 单击**“脚本”,然后单击“导出”**。

  3. 该服务脚本将导出到在应用程序配置中设置的脚本路径。

删除对象

  1. 在 TreeView 中选择对象。

  2. 单击**“删除”“编辑”“删除 {对象名}”**。

更改对象

  1. 在对象树中单击要修改的对象。

  2. 修改该对象的属性。

  3. 单击**“更改”**以更改该对象。

查询用于描述对象的数据

  1. 每个对象均可以将描述该对象的数据输出到文本框和/或 DataGrid。

  2. 在 TreeView 中选择某个对象。

  3. 单击“查询”。

删除示例

删除服务

  1. 单击 ClientService 节点。

  2. 删除对象。

  3. 单击 ServerService 节点。

  4. 删除对象。

删除队列

  1. 单击 ClientQueue 节点。

  2. 删除对象。

  3. 单击 ServerQueue 节点。

  4. 删除对象。

删除约定

  1. 单击 Shipping 约定节点。

  2. 删除对象。

删除 MessageTypes

  1. 单击 ShippingRequest MessageType 节点。

  2. 删除对象。

  3. 单击 ShippingAccept MessageType 节点。

  4. 删除对象。

  5. 单击 ShippingComplete MessageType 节点。

  6. 删除对象。

删除目标实例端点

  1. 单击“目标实例端点”节点。

  2. 删除对象。