1

My Queue name is "TaskQueue" but when i run code, create new queue which name is "System_String:mscorlib_TaskQueue". My Subscriber code below. What is my fault?

var bus = RabbitHutch.CreateBus("host=localhost;username=guest;password=guest");
bus.SubscribeAsync<string>("TaskQueue", (msg) =>
    Task.Factory.StartNew(() =>
    {
       Console.WriteLine("Got Message: {0}", msg);
    }));
4

1 回答 1

2

基本上你做对了。但是,TaskQueue是订阅 ID,而不是生成的队列的名称。

默认情况下,EasyNetQ 将使用订阅 ID消息类型来生成队列名称。因此,它被命名为System_String:mscorlib_TaskQueue So 所有具有 id 的订阅TaskQueue都将被视为并发消费者。

https://github.com/EasyNetQ/EasyNetQ/wiki/Subscribe

您可以通过控制 SubscriptionId 生成来更改此行为

于 2013-07-08T11:21:36.753 回答