MassTransit プロジェクトからいくつかのサンプル コードを実行しようとしています。
var bus = ServiceBusFactory.New(sbc =>
{
sbc.UseMsmq().Validate();
sbc.ReceiveFrom("msmq://localhost/app1_queue");
sbc.UseMulticastSubscriptionClient();
sbc.Subscribe(s=>
{
s.Handler<CustomMessage>(msg => { Console.WriteLine(msg.Body); });
});
});
Visual Studio を使用するとF5
、次の例外が発生します。
MessageQueueException: The queue does not exist or you do not have
sufficient permissions to perform the operation.
MessageQueueErrorCode: System.Messaging.MessageQueueErrorCode.QueueNotFound
Management Console で MessageQueues を確認したところ、実際にキューが存在しないことがわかりました。ただし、TestApp1.exe を実行すると、すべて正常に動作し、キューが作成されます。Visual Studio に戻ると、同じエラーが引き続き発生します (ただし、キューが使用できるようになりました)。
キューのセキュリティを設定してみました (Everyone フル アクセス) が、変更されません。
私は何を間違っていますか?これを Visual Studio 内から実行できないのはなぜですか?
編集
RabbitMQ
コードをインストールして更新しました:
sbc.UseRabbitMq();
sbc.ReceiveFrom("rabbitmq://localhost/app1_queue");
そしてそれは動作します。
疑問が残ります: msmq の何が問題なのですか? 私はそれを使い続けたいと思います。