I read this article to push rabbit mq messages from web form application.
Is it correct to push objects directly from web form aspx cs class i.e. calling producer.SendMessage(...) from button_click event OR this should be part of business logic?
Which layer this code should be called from? How to decide this?
If you are doing multi-tiered design, then you are on the right track. Keep the implementation (i.e. calls to RabbitMQ, or databases, or other servers) completely separate from the user interface code. Otherwise, if you have to change things (for example, switching to MSMQ or some other queue product) it'll be much harder to change later on.