.Net 代码中的 Masstransit RabbitMQ 用户名密码配置



>我正在使用公共交通文档中指定的推荐方法在总线创建期间指定 RabbitMQ 用户名和密码。

以下是总线配置的代码片段:

var compensateAddress = BuildQueueUri(Settings.BaseUri, Settings.Compensate);
var ExecuteAddress = BuildQueueUri(Settings.BaseUri, Settings.Execute);
var RabbitMqURI = new Uri(Settings.BaseUri + "/QueueName");
var RabbitMqUsername = Settings.RabbitMqUsername;
var RabbitMqPassword = Settings.RabbitMqPassword;
IServiceBus _bus;    
_bus = ServiceBusFactory.New(x =>
            {
                x.UseRabbitMq(r =>
                {
                    r.ConfigureHost(RabbitMqURI, h =>
                    {
                        h.SetUsername(RabbitMqUsername);
                        h.SetPassword(RabbitMqPassword);
                    });
                });                
                x.ReceiveFrom(ExecuteAddress);
                x.Subscribe(s => s.Instance(_host));
            });

当我启动我的应用程序时,出现以下错误:

"路径可以是空的,也可以是以下字符的序列:字母、数字、连字符、下划线、句点或冒号。"

可能是什么问题?

公共交通版本 2.9.0

RabbitMQ.Client 版本 3.4.0

这是我能够开始工作
的代码MT 2.10兔子 3.5.3Erlang 18.0 64bit

 public class YourMessage { public string Text { get; set; } }
    internal class Program
    {
        private static void Main(string[] args)
        {
            var hostAddress = new Uri("rabbitmq://localhost/learningmt_orderservice");
            Bus.Initialize(sbc =>
            {
                sbc.UseRabbitMq(rabbit =>
                {
                    rabbit.ConfigureHost(hostAddress,
                        chost =>
                        {
                            chost.SetUsername("guest");
                            chost.SetPassword("guest");
                        });
                    rabbit.Validate();
                });
                sbc.ReceiveFrom(hostAddress.AbsoluteUri);
                sbc.Subscribe(subs =>
                {
                    subs.Handler<YourMessage>(msg => Console.WriteLine(msg.Text));
                });
            });
            Bus.Instance.Publish(new YourMessage {Text = "Hi"});
        }
    }

最新更新