Explain AsyncEventingBasicConsumer behaviour without DispatchConsumersAsync = true

The answer actually in your question. Yes, it is about design. The documentation explains and gives small example about async pattern.

The client provides an async-oriented consumer dispatch implementation. This dispatcher can only be used with async consumers, that is, IAsyncBasicConsumer implementations.
In order to use this dispatcher, set the ConnectionFactory.DispatchConsumersAsync property to true

So documentation has not enough information to answer your first question. However for second, if you want to use AsyncEventingBasicConsumer, you must to set ConnectionFactory.DispatchConsumersAsync property to true. It is design and rule of RabbitMq.
Also third question actually you answer yourself. Yes, for now it is about design of RabbitMq .net client.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)