Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

766
Vistas
Azure Service Bus: ReceiveMessagesAsync devuelve solo un subconjunto

Escribí un código para leer 1000 mensajes de una sola vez desde una cola de Azure Service Bus. Leo los mensajes con la línea: await receiver.ReceiveMessagesAsync(1000); pero solo se recibe un subconjunto de los mensajes.

Tomé el código de la muestra: https://github.com/Azure/azure-sdk-for-net/blob/main/sdk/servicebus/Azure.Messaging.ServiceBus/tests/Samples/Sample01_HelloWorld.cs , SendAndReceiveMessageSafeBatch () método

Este es mi código:

 public class Program { static void Main(string[] args) { SendAndReceiveMessage().GetAwaiter().GetResult(); } public static async Task SendAndReceiveMessage() { var connectionString = "myconnectionstring"; var queueName = "myqueue"; // since ServiceBusClient implements IAsyncDisposable we create it with "await using" await using var client = new ServiceBusClient(connectionString); // create the sender var sender = client.CreateSender(queueName); IList<ServiceBusMessage> messages = new List<ServiceBusMessage>(); for (var i = 0; i < 1000; i++) { messages.Add(new ServiceBusMessage($"Message {i}")); } // send the messages await sender.SendMessagesAsync(messages); // create a receiver that we can use to receive the messages var options = new ServiceBusReceiverOptions() { ReceiveMode = ServiceBusReceiveMode.ReceiveAndDelete }; ServiceBusReceiver receiver = client.CreateReceiver(queueName, options); // the received message is a different type as it contains some service set properties IReadOnlyList<ServiceBusReceivedMessage> receivedMessages = await receiver.ReceiveMessagesAsync(1000); Console.WriteLine($"Received {receivedMessages.Count} from the queue {queueName}"); foreach (ServiceBusReceivedMessage receivedMessage in receivedMessages) { var body = receivedMessage.Body.ToString(); Console.WriteLine(body); } Console.WriteLine("END"); Console.ReadLine(); } }

¿Tiene alguna sugerencia sobre cómo leer los 1000 mensajes de una sola vez?

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Este es el comportamiento esperado con Azure Service Bus. El número de mensajes a recibir, maxMessages es un número máximo que no está garantizado.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda