Я прочитал, что когда я использую RabbitMQ, лучше всего использовать одно соединение на процесс, поэтому я хотел бы создать одноэлементный класс для соединения rabbitmq.Я хотел бы использовать Ленивую версию Singleton из: Реализация шаблона Singleton в C #
Я пишу этот класс:
public class RabbitConnection
{
private static readonly Lazy<RabbitConnection> Lazy = new Lazy<RabbitConnection>(() => new RabbitConnection());
private RabbitConnection()
{
IConnectionFactory connectionFactory = new ConnectionFactory
{
HostName = "127.0.0.1",
Port = 5672,
UserName = "Username",
Password = "********"
};
Connection = connectionFactory.CreateConnection();
}
public static RabbitConnection Instance
{
get { return Lazy.Value; }
}
public IConnection Connection { get; }
}
И используйте это как:
var channel = RabbitConnection.Instance.Connection.CreateModel();
channel.QueueDeclare("myQueue", true, false, false, null);
....
Является ли эта реализация правильной или неправильной?Спасибо