RabbitMQ C# connection trouble when using a username and password(使用用户名和密码时 RabbitMQ C# 连接问题)
问题描述
我在这里不知所措,所以我正在寻求集体知识,希望能出现奇迹.
I am at a loss here so I'm reaching out to the collective knowledge in hope of a miracle.
我已经使用默认设置在 Linux 机器上安装了 RabbitMQ.
I have installed RabbitMQ on a Linux box using the defaults.
当我使用此代码(以及默认的 RabbitMQ 安装配置)时,一切正常.
When I use this code (and the default RabbitMQ installation configuration) everything works nice.
var connectionFactory = new ConnectionFactory();
connectionFactory.HostName = "192.168.0.12";
IConnection connection = connectionFactory.CreateConnection();
但是当我将用户添加到 RabbitMQ 并尝试使用以下代码时(用户名和密码已更改以保护无辜.:))
But when I add a user to RabbitMQ and try to use the following code (username and password has been changed to protect the innocent. :) )
var connectionFactory = new ConnectionFactory();
connectionFactory.HostName = "192.168.0.12";
connectionFactory.UserName = "user";
connectionFactory.Password = "password";
IConnection connection = connectionFactory.CreateConnection();
connectionFactory.CreateConnection()
方法抛出以下异常:
BrokerUnreachableException
None of the specified endpoints were reachable
检查 RabbitMQ 日志文件,我可以看到它抱怨凭据:
Checking the RabbitMQ logfile I can see it complaining about the credentials:
{amqp_error,access_refused,
"PLAIN login refused: user 'user' - invalid credentials",
'connection.start_ok'}}
问题是我对用户名和密码很有信心,但由于热爱编码,我无法在任何地方找到解决方案.
The thing is that I am confident about the username and password and I cannot for the love of coding find a solution to this anywhere.
我一定遗漏了一些明显的东西,但我不知道它是什么.如果有任何有用的指点,我将不胜感激.
I must be missing something obvious but I can't figure out what it is. I would be grateful for any helpful pointers.
推荐答案
看来我找到了解决自己问题的方法.以下代码有效:
It seems that I have found a solution to my own problem. The following code works:
ConnectionFactory factory = new ConnectionFactory();
factory.UserName = "user";
factory.Password = "password";
factory.VirtualHost = "/";
factory.Protocol = Protocols.FromEnvironment();
factory.HostName = "192.168.0.12";
factory.Port = AmqpTcpEndpoint.UseDefaultPort;
IConnection conn = factory.CreateConnection();
感谢您的聆听,也许这至少对其他人有用.:)
Thanks for listening and perhaps this at least could be useful to someone else. :)
这篇关于使用用户名和密码时 RabbitMQ C# 连接问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:使用用户名和密码时 RabbitMQ C# 连接问题
基础教程推荐
- MS Visual Studio .NET 的替代品 2022-01-01
- c# Math.Sqrt 实现 2022-01-01
- 有没有办法忽略 2GB 文件上传的 maxRequestLength 限制? 2022-01-01
- rabbitmq 的 REST API 2022-01-01
- 将 XML 转换为通用列表 2022-01-01
- 将 Office 安装到 Windows 容器 (servercore:ltsc2019) 失败,错误代码为 17002 2022-01-01
- SSE 浮点算术是否可重现? 2022-01-01
- 如何在 IDE 中获取 Xamarin Studio C# 输出? 2022-01-01
- 为什么Flurl.Http DownloadFileAsync/Http客户端GetAsync需要 2022-09-30
- 如何激活MC67中的红灯 2022-01-01