ReadEventsAsync EventHub 不会停止

问题描述 投票:0回答:0

我正在 Azure 事件中心存储一些应用程序生成的消息,这些消息由 Web 应用程序生成,我想在 Rest API 调用中从 Azure 事件中心检索这些消息,以在 Web 应用程序中显示这些消息。

问题

当我尝试使用以下代码从 Azure 事件中心读取消息时

var messages = new List<MessagingModel>();

            string consumerGroup = EventHubConsumerClient.DefaultConsumerGroupName;

            await using (var consumerClient = new EventHubConsumerClient(consumerGroup, eventHubConnectionString, eventHubName))
            {
                await foreach (var partitionEvent in consumerClient.ReadEventsAsync())
                {
                    string json = Encoding.UTF8.GetString(partitionEvent.Data.Body.ToArray());
                    var message = JsonConvert.DeserializeObject<MessagingModel>(json);
                    Console.WriteLine(json);
                }

                await consumerClient.CloseAsync();
            }

            return messages;

control 永远不会为每个人出来,这不是我们想要的,我也观察到当一条新消息被发送到 Event Hub 时,控件返回以处理该消息,然后等待下一条消息出现。

我只想阅读消息列表。

azure azure-eventhub azure-eventgrid azure-eventhub-client
© www.soinside.com 2019 - 2024. All rights reserved.