【发布时间】:2016-07-28 19:19:59
【问题描述】:
我正在努力学习 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 服务正在运行。
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();
}
}
}
【问题讨论】:
标签: masstransit