【问题标题】:Masstransit not creating exchange公共交通没有创造交换
【发布时间】:2021-12-01 18:41:55
【问题描述】:

美好的一天 我正在解决没有自动创建交换的问题

我已经使用此类 uri 选项在 net6 网络核心应用程序中注册了 Masstransit(两种都尝试过):

rabbitmq://myurl
rabbitmq://myurl:5672

注册看起来像这样:

services.AddMassTransit(mt =>
            {
                mt.UsingRabbitMq((context, cfg) =>
                {
                    cfg.Host(new Uri(
                        RabbitMqOptions.RabbitMqUri),
                        RabbitMqOptions.VHost,
                        credentials =>
                        {
                            credentials.Username(RabbitMqOptions.UserName);
                            credentials.Password(RabbitMqOptions.Password);
                        });

                    cfg.AutoStart = true;

                    cfg.Publish<IServerNotificationMessage>(e => e.ExchangeType = RabbitMQ.Client.ExchangeType.Direct);
                });
            });
            services.AddMassTransitHostedService();

调试发布代码显示实际使用的端口为0,总线控制为空且未启动 see the print screen

如何让巴士启动? (据我了解,cfg.Host 返回 void,而不是总线控制,因此无法显式启动,已指定自动启动选项,但仍处于关闭状态)

提前谢谢你

【问题讨论】:

    标签: c# masstransit


    【解决方案1】:

    配置 MassTransit 不需要 URI,您可以简化配置,如下所示。

    services.AddMassTransit(mt =>
    {
        mt.UsingRabbitMq((context, cfg) =>
        {
            cfg.Host(RabbitMqOptions.Host,
                RabbitMqOptions.Port,
                RabbitMqOptions.VHost,
                h =>
                {
                    h.Username(RabbitMqOptions.UserName);
                    h.Password(RabbitMqOptions.Password);
                });
    
            cfg.AutoStart = true;
            cfg.Publish<IServerNotificationMessage>(e => e.ExchangeType = RabbitMQ.Client.ExchangeType.Direct);
        });
    });
    services.AddMassTransitHostedService();
    

    日志应显示总线正在启动,如果没有,则表示托管服务未启动。这是一个 ASP.NET 项目,还是一个使用 .NET 通用主机的项目?

    【讨论】:

    • 这是一个 ASP.NET 项目
    • 如何查看日志?你是说输出?
    猜你喜欢
    • 1970-01-01
    • 2022-10-13
    • 1970-01-01
    • 2012-03-08
    • 1970-01-01
    • 2014-05-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多