Я читаю сообщения из служебной шины Azure в моем приложении C #.Я читаю их из очереди Dead Letter, но, полагаю, здесь это не имеет значения.Мне нужно прочитать блок сообщений заданного размера, начиная с заданного смещения (иначе говоря, страницы сообщений).
Я придумал следующий, очень неэффективный код:
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;
Есть ли способ, которым я могу написать этот "поиск" более эффективным способом?