#c# #rabbitmq #amazon-mq
Вопрос:
Я учусь использовать RabbitMQ, я создаю консольный проект C# в Visual Studio для Mac.
Я создал сервер RabbitMQ на Amazon AWS, однако каждый раз, когда я пытаюсь подключиться, я получаю сообщение об ошибке «ни одна из конечных точек не была доступна»; вот мой код:
using System;
using System.Text;
using RabbitMQ.Client;
namespace Producer
{
class Sender
{
public static void Main(string[] args)
{
var factory = new ConnectionFactory()
{
HostName = "mq.ap-southeast-1.amazonaws.com",
Port = 5671,
UserName = "username",
Password = "password"
};
using(var connection = factory.CreateConnection())
using (var channel = connection.CreateModel())
{
channel.QueueDeclare("BasicTest", false, false, false, null);
string message = "Getting Started with .net Core RabbitMQ";
var body = Encoding.UTF8.GetBytes(message);
channel.BasicPublish("", "BasicTest", null, body);
Console.WriteLine("Message Sent: {0}", message);
}
Console.WriteLine("Press Enter to Exit");
Console.ReadLine();
}
}
}
Есть какие-нибудь идеи о том, почему я не могу связаться с AWS?
Ответ №1:
похоже, вам также необходимо ввести URI конечной точки, который также предоставляется AWS, и указать, что SSL включен. Я добавил следующий код перед открытием соединения:
Uri uri = new Uri("amqps://mq.ap-southeast-1.amazonaws.com:5671");
factory.Ssl.Enabled = true;
factory.Uri = uri;