开发应用程序

注:本页面内容可能不完全适用中国大陆地区运营的 Windows Azure服务。如要了解不同地区 Windows Azure 服务的差异, 请参考本网站.

在开始本教程之前,请确保你已按安装和配置 Service Bus for Windows Server 中所述正确安装并配置了 Service Bus for Windows Server。

确保你有服务命名空间

  1. 在 PowerShell 命令提示符下,运行以下命令以验证你是否至少定义了一个服务命名空间:

    get-SBNamespace
    

    此命令的示例输出将如下所示:

    Name                  : myServiceNamespaceName
    AddressingScheme      : Path
    CreatedTime           : 2/29/2012 11:35:09 PM
    IssuerName            : myServiceNamespaceName
    IssuerUri             : myServiceNamespaceName
    ManageUsers           : {list of user accounts}
    Uri                   : 
    ServiceIdentifier     : 
    PrimarySymmetricKey   : myKey
    SecondarySymmetricKey :
    
    note注意
    有关服务命名空间的详细信息,请参阅服务命名空间

  2. 在 PowerShell 命令提示符下,运行以下命令以导出 Service Bus for Windows Server 客户端配置文件:

    get-sbClientConfiguration > sbclient.config
    

在 Visual Studio 中创建新项目

  1. 在 Visual Studio 2012 中,创建一个新控制台应用程序。

  2. 在“解决方案资源管理器”中,右键单击“引用”,然后单击“添加引用”。单击以添加 System.Runtime.Serialization 项目。

添加对 Service Bus for Windows Server SDK 的引用

  1. 在“解决方案资源管理器”中,右键单击“引用”,然后单击“管理 NuGet 包”。仅在已安装 NuGet 扩展的情况下,才会显示此选项。

  2. “搜索”框中,键入 Service Bus 1.0。单击 Service Bus 1.0 (用于 Windows Server) 项目。完成安装并关闭此对话框。

使用连接字符串和配置文件连接到 Service Bus for Windows Server

  1. 使用 Service Bus for Windows Server 可以在配置文件中指定连接字符串,并在代码中使用该连接字符串而无需指定附加参数。此选项受 Service Bus for Windows Server 支持,可为部署提供灵活性。通过使用连接字符串,你可以通过更改配置文件中的设置从 Service Bus for Windows Server(本地)切换到 Windows Azure Service Bus(云)。

    在 PowerShell 命令提示符下,运行以下命令,以检索用于连接到服务命名空间的连接字符串:

    get-SBClientConfiguration
    

    此命令的示例输出将如下所示:

    Endpoint=sb://yourHost/ServiceBusDefaultNamespace;StsEndpoint=https://yourHost:9355/ServiceBusDefaultNamespace;RuntimePort=9354;ManagementPort=9355
    
  2. 打开应用程序配置文件或创建一个,然后粘贴该连接字符串。例如:

    <configuration>
      <appSettings>
        <add key="Microsoft.ServiceBus.ConnectionString"         
            value="Endpoint=sb://yourHost/ServiceBusDefaultNamespace;StsEndpoint=https://yourHost:9355/ServiceBusDefaultNamespace;RuntimePort=9354;ManagementPort=9355" />
      </appSettings>
    </configuration>
    

    请注意,如果你有多个服务命名空间,则必须选择并复制 PowerShell cmdlet 生成的终结点中的一个。

  3. 创建 NamespaceManagerMessagingFactory 对象,就像为 Windows Azure Service Bus 创建一样。

    MessagingFactory messagingFactory = MessagingFactory.Create();
    NamespaceManager namespaceManager = NamespaceManager.Create();
    

    连接到 Service Bus 后,你可以使用命名空间管理器实例创建消息实体(队列、主题和订阅)或创建 QueueClientTopicClientSubscriptionClient 对象,以发送和接收消息。

通过显式提供连接参数连接到 Service Bus for Windows Server

  1. 除了使用配置文件中的连接字符串连接到 Service Bus 外,还存在需要您显式指定与 Service Bus 连接时所需的输入参数的情况。Service Bus 引入了一个帮助器类,让你可以在代码中生成连接字符串。

    在代码中标识连接参数(通过使用配置文件或通过其他某种方式)。

    string ServerFQDN = "localhost";
    int HttpPort = 9355;
    int TcpPort = 9354;
    string ServiceNamespace = "ServiceBusDefaultNamespace";
    
  2. 在代码中,使用 ServiceBusConnectionStringBuilder 帮助器类连接到 Service Bus。例如:

    ServiceBusConnectionStringBuilder connBuilder = new ServiceBusConnectionStringBuilder();
    connBuilder.ManagementPort = HttpPort;
    connBuilder.RuntimePort = TcpPort;
    connBuilder.Endpoints.Add(new UriBuilder() { Scheme = "sb", Host = ServerFQDN, Path = ServiceNamespace }.Uri);
    connBuilder.StsEndpoints.Add(new UriBuilder() { Scheme = "https", Host = ServerFQDN, Port = HttpPort, Path = ServiceNamespace }.Uri);
    
    MessagingFactory messagingFactory = MessagingFactory.CreateFromConnectionString(connBuilder.ToString());
    NamespaceManager namespaceManager = NamespaceManager.CreateFromConnectionString(connBuilder.ToString());
    

    有关 Service Bus for Windows Server 的连接字符串的详细信息,请参阅Configuration Connection Strings

另请参见


生成日期:

2013-09-12

社区附加资源

显示: