我在學習MassTransit。我已經通過NuGet安裝了MassTransit.RabbitMQ 3.3.5版。我已經安裝了Erlang 18.0 *和RabbitMQ 3.6.3(* Erlang版本19.0對RabbitMQ 3.6.3不穩定)。我發現了一個「快速入門」的MassTransit程序here,並修正了一點點typeo後,讓它編譯。但是,當我執行該程序時,發佈的消息「YourMessage」不由處理程序處理! RabbitMQ管理插件UI顯示有一個「test_queue」隊列,其中有1條消息。它仍然存在,未經處理。這裏發生了什麼?我在Windows 7上運行,RabbitMQ服務正在運行。MassTransit快速入門App不起作用
using MassTransit;
using System;
namespace MassTransitPOC.Trivial
{
public class YourMessage
{
public string Text { get; set; }
}
public class Program
{
public static void Main()
{
var bus = Bus.Factory.CreateUsingRabbitMq(sbc =>
{
var host = sbc.Host(new Uri("rabbitmq://localhost"), h =>
{
h.Username("guest");
h.Password("guest");
});
sbc.ReceiveEndpoint(host, "test_queue", ep =>
{
ep.Handler<YourMessage>(context =>
{
return Console.Out.WriteLineAsync($"Received: {context.Message.Text}");
});
});
});
bus.Start();
bus.Publish(new YourMessage { Text = "Hi" });
bus.Stop();
}
}
}
感謝您的回覆,但您的代碼除了組成處理程序的llambda表達式的樣式外沒有任何更改;它仍然不起作用。 – Andy