Я хочу создать класс, вроде обертки для соединения RabbitMQ, чтобы публиковать сообщения для обмена. Это будет библиотека классов, используемая другой системой.
Мой вопрос довольно прост: как мне закрыть и открыть соединение?
Моя первоначальная идея примерно такая:
public class RabbitConnection
{
private readonly IConnection conn;
public RabbitConnection() {
try {
var factory = new ConnectionFactory() {...}
this.conn = factory.CreateConnection();
}
catch {
...
}
}
...
public void Publish<T>(T @event) where T : class {
using (var channel = conn.CreateModel()) {
...
channel.BasicPublish(...);
}
}
}
Это лучший способ, если я не ищу то, чтобы найти лучший шаблон?
Спасибо заранее!