EasyNetQ руководство по эксплуатации - PullRequest
0 голосов
/ 29 мая 2019

У меня есть очередь, используемая несколькими клиентами, я хотел бы, чтобы только конкретный клиент выполнял ack на msg, направленном ему, тогда как отключить автоматический ack и выполнить его вручную?

            bus.Subscribe<MessageModel>(string.Empty, message =>
            {
                // if a message sent by this machine
                // if not a message directed to this machine
                // then ignore it
                if (message.MachineName == this.MachineName || message.MachineNameDest != this.MachineName)
                    return;

                // if the same message already received but still not removed from the queue
                // then ignore it
                if (message.ID == LastMessageReceived?.ID)
                    return;

                LastMessageReceived = message;

                MessageEventArgs handler = new MessageEventArgs(message);
                Received?.Invoke(this, handler);

                RemoveMessage(message); // <--- how manual ack ???

            }, cfg => cfg.WithAutoDelete(false)
            .WithQueueName(queueName));



спасибо.

...