【问题标题】:How to retrieve all topics from Azure Bus Service?如何从 Azure 总线服务中检索所有主题?
【发布时间】:2015-08-17 05:08:01
【问题描述】:

我有一个包含 12 个主题的 Azure 服务总线。我正在制作一个可扩展的应用程序,其中如果主题数量减少或增加,应用程序应该使用connectionString 来获取该服务总线的所有主题名称。

如何从特定 Azure 服务总线获取所有主题名称?

请提供从特定 Azure 服务总线检索主题列表的代码示例。

【问题讨论】:

  • namespaceManager.GetTopics()?
  • @RyanChu 请将您的评论作为答案。

标签: c# azure azureservicebus


【解决方案1】:

感谢@RyanChu 的正确回答。

这是实现上述要求所需的代码段,

string connectionString = CloudConfigurationManager.GetSetting("Microsoft.ServiceBus.ConnectionString");
NamespaceManager nm = NamespaceManager.CreateFromConnectionString(connectionString);
IEnumerable<TopicDescription> topicList=nm.GetTopics();
        foreach(var td in topicList)
        {
            Console.WriteLine(td.Path);
        }

更多详情,请参考NamespaceManager.GetTopics() Documentation

【讨论】:

    【解决方案2】:

    Microsoft.Azure.Servicebus 是 .NET Core 的包。语法略有不同。 这是我项目中的一段代码。

    var managementClient = new ManagementClient(_connectionString);
    var topicDescriptions = new List<TopicDescription>();
    
    for (int skip = 0; skip < 1000; skip += 100)
    {
        var topics = await managementClient.GetTopicsAsync(100, skip);
        if (!topics.Any()) break;
    
        topicDescriptions.AddRange(topics);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-25
      • 2018-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多