到目前为止,我发现可以安装RawRabbit.Enrichers.Attributes包并使用属性配置消息类:
[Queue(Name = "my_queue"]
private class AttributedMessage
{
}和set
var client = RawRabbitFactory.CreateSingleton(new RawRabbitOptions
{
Plugins = plugin => plugin.UseAttributeRouting()
});但我更希望在发布命令的同时指定队列名称,以使其更灵活:
await _busClient.PublishAsync(message /*some_config_here???*/);是否可以使用RawRabbit 2.0.0-rc5?
发布于 2018-09-20 06:24:25
我认为这可能会对你有所帮助:
static async Task Publish()
{
var config = new RawRabbitConfiguration
{
Username = "YOUR_RMQ_USER",
Password = "YOUR_RMQ_PWD",
Port = 5672,
VirtualHost = "/",
Hostnames = { "YOUR_RMQ_HOST_OR_IP" }
};
var bus = BusClientFactory.CreateDefault(config);
await bus.PublishAsync(
message: yourAwesomeMessagePayload,
configuration: ctx => ctx.WithExchange(BuildExchangeConfig)
.WithRoutingKey("custom.message.routing.key")
);
Console.WriteLine("message published!");
}
static void BuildExchangeConfig(IExchangeConfigurationBuilder e)
{
e.WithName("YOUR_EXCHANGE_NAME")
.WithAutoDelete(false)
.WithDurability(true)
.WithType(ExchangeType.Topic);
}https://stackoverflow.com/questions/49367665
复制相似问题