服务总线未从订阅中读取

时间:2017-01-24 19:55:01

标签: azure azureservicebus

我正在创建示例Azure Service Bus应用程序。我创建了一个名称空间,主题和订阅。我已经为主题编写了测试消息,如果我在门户网站上进行订阅,我会看到每次使用编写器应用程序编写新消息时都会收到新消息。

但是当我去拉消息时,没有检索到任何内容。在故障排除中,我将订阅名称更改为不正确的值并收到错误。我改回来了,没有输出,当我查看Azure门户时,没有删除任何消息。我被困了......这看起来很容易,但它不起作用。

string connectionString = "Endpoint=sb://redacted for obvious reasons";

        SubscriptionClient Client = SubscriptionClient.CreateFromConnectionString(connectionString, "NewOrders", "AllOrders");

        // Configure the callback options.
        OnMessageOptions options = new OnMessageOptions();
        options.AutoComplete = false;
        options.AutoRenewTimeout = TimeSpan.FromMinutes(1);

        Client.OnMessage((message) =>
        {
            try
            {
                Console.WriteLine("Body: " + message.GetBody<string>());

                message.Complete();
                Console.ReadLine();
            }
            catch (Exception)
            {
                // Indicates a problem, unlock message in subscription.
                message.Abandon();
            }
        }, options);

1 个答案:

答案 0 :(得分:1)

似乎不是代码问题。我创建了一个演示来从主题中检索消息,它可以正常工作。 在我尝试从主题中检索消息之前,我将消息发送到主题或确保有订阅消息。我们可以从门户网站上查看

enter image description here

发送消息代码演示。

where 
     bed.patient_id = pat.patient_id

我也尝试了你提到的代码,它也适用于我。

enter image description here

enter image description here

我们也可以从模板中获取云项目的演示项目。我们还可以从文档中获取有关How to use Service Bus topics and subscriptions的更多信息。