EasyNetQ在爲隊列生成名稱時的默認行爲是使用 消息類型名稱+subscription Idspa
例如,名稱空間EasyNetQ.Tests.Integration中的PartyInvitation消息類型將使用隊列名稱EasyNetQ.Tests.Integration.PartyInvitation:EasyNetQ.Tests_schedulingTest1,假定訂閱ID爲schedulingTest1。code
1,控制隊列名稱blog
要控制隊列的名稱,請使用Queue屬性註釋消息類:隊列
[Queue("TestMessagesQueue", ExchangeName = "MyTestExchange")] public class TestMessage { public string Text { get; set; } } // ... bus.Subscribe<TestMessage>(string.Empty, msg => Console.WriteLine(msg.Text));
在這裏,咱們告訴EasyNetQ將TestMessagesQueue用做隊列名稱,將MyTestExchange用做交換名稱。 注意傳遞給Subscribe方法的subscriptionId是空的。 若是指定subscriptionId,則它將被追加到末尾並用做隊列名稱。ip
2,有關命名隊列的注意事項字符串
將隊列名稱設置爲空字符串將使用默認的命名行爲。隊列名稱的最大長度爲255個字符(這由RabbitMQ客戶端庫執行)。名稱能夠是字母,數字,連字符,下劃線,句號或冒號的序列。隊列名稱以「amq」開頭。保留給預先聲明和標準化的隊列。get