yield return new ServiceInstanceListener(context => new ServiceBusQueueCommunicationListener(
new Handler(logAction, context)
, context
, serviceBusReceiveConnectionString: Config.connectionString
, serviceBusQueueName: Config.QueueName
, requireSessions: true)
{
MaxConcurrentSessions = 1000,
ReceiveMode = ReceiveMode.ReceiveAndDelete,
LogAction = logAction,
MessagePrefetchCount = 10
}, "StatelessService-ServiceBusQueueListener");
ключевое значение потерянных сообщений - «MessagePrefetchCount»: у меня в очереди 100 сообщений, когда этот код запускается, он будет использовать их все, но я получу только 10 сообщений.если я изменю «MessagePrefetchCount» на 50, тогда я получу только 2 сообщения, а все остальные сообщения будут использованы, но не получены.