【发布时间】:2019-02-28 23:23:36
【问题描述】:
我正在 C# 应用程序中读取来自 Azure 服务总线的消息。我正在从死信队列中读取它们,但我想这并不重要。我需要读取给定大小的消息块,从给定的偏移量(也就是一页消息)开始。
我想出了以下非常低效的代码:
SubscriptionClient client = SubscriptionClient.CreateFromConnectionString(
connectionString,
topic,
QueueClient.FormatDeadLetterPath(subscription));
var result = new List<string>();
for (var i = 0; i < offset + size; i++)
{
var msg = await client.PeekAsync();
if (msg == null)
{
return result;
}
if (i >= offset)
{
result.Add(msg);
}
}
return result;
有没有一种方法可以更有效地编写这个“搜索”?
【问题讨论】:
-
没有偏移的概念。这是一个队列,您可以接收或查看。 docs.microsoft.com/en-us/azure/service-bus-messaging/…
标签: c# azure azureservicebus azure-servicebus-queues