>我正在使用公共交通文档中指定的推荐方法在总线创建期间指定 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"});
}
}