Help with configuring MSMQ

Tags: #<Tag:0x00007f0660bf2918> #<Tag:0x00007f0660bf2828>

The documentation for MSMQ states:

To use MSMQ queues, you should do the following steps:
Create them manually on each host. Don’t forget to grant appropriate permissions.
Register all MSMQ queues in current SqlServerStorage instance.

Could someone elaborate on how to do this?
Initially I am wanting to set up Hangfire in a multi-node web farm that execute the background jobs on each web server, but I’d like to eventually expand the concept to having an application server farm that processes the requests submitted by the web servers.

I realize this could all be done with the out-of-box SQL configuration, but the polling option / invisibility configuration is a deal breaker for me.

Right click on “My Computer” → Manage → Services and Applications → Message Queueing:

Right click on Private queues (here is how to create public ones –, New, Private Queue, give name, check the Transactional:

And then configure Hangfire:

var sqlServerStorage = new SqlServerStorage(
sqlServerStorage.UseMsmqQueues(@".\Private$\hangfire-{0}", "default");

If you can, please, contribute to this documentation topic (there is “Edit on GitHub” link in the top-right corner of the page) to show other users how to do this.

Thank you for this information.
This answers my question.