首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在使用RawRabbit投递消息时指定队列名称

如何在使用RawRabbit投递消息时指定队列名称
EN

Stack Overflow用户
提问于 2018-03-20 00:18:03
回答 1查看 547关注 0票数 1

到目前为止,我发现可以安装RawRabbit.Enrichers.Attributes包并使用属性配置消息类:

代码语言:javascript
复制
[Queue(Name = "my_queue"]
private class AttributedMessage
{       
}

和set

代码语言:javascript
复制
var client = RawRabbitFactory.CreateSingleton(new RawRabbitOptions
{
    Plugins = plugin => plugin.UseAttributeRouting()
});

但我更希望在发布命令的同时指定队列名称,以使其更灵活:

代码语言:javascript
复制
await _busClient.PublishAsync(message /*some_config_here???*/);

是否可以使用RawRabbit 2.0.0-rc5?

EN

回答 1

Stack Overflow用户

发布于 2018-09-20 06:24:25

我认为这可能会对你有所帮助:

代码语言:javascript
复制
    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);
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49367665

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档