1

私のキュー名は「TaskQueue」ですが、コードを実行すると、「System_String:mscorlib_TaskQueue」という名前の新しいキューが作成されます。以下の私のサブスクライバーコード。私のせいは何ですか?

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 ID を持つすべてのサブスクリプションがTaskQueue同時コンシューマーとして扱われるという名前が付けられました。

https://github.com/EasyNetQ/EasyNetQ/wiki/Subscribeを参照してください

この動作は、SubscriptionId 生成を制御することで変更できます

于 2013-07-08T11:21:36.753 に答える