hrms-api-backend/BMA.EHR.Infrastructure/MessageQueue/RabbitMQConnection.cs
Suphonchai Phoonsawat 8902080336 feat: Add RabbitMQ
2024-07-06 11:04:12 +07:00

45 lines
No EOL
1.2 KiB
C#

using Microsoft.Extensions.Configuration;
using RabbitMQ.Client;
namespace BMA.EHR.Infrastructure.MessageQueue
{
public class RabbitMQConnection
{
private readonly IConnection _connection;
private readonly IModel _channel;
private readonly IConfiguration _configuration;
/// <summary>
///
/// </summary>
/// <param name="configuration"></param>
public RabbitMQConnection(IConfiguration configuration)
{
_configuration = configuration;
var hostName = _configuration["RabbitMQ:URL"];
var userName = _configuration["RabbitMQ:UserName"];
var password = _configuration["RabbitMQ:Password"];
var factory = new ConnectionFactory() { HostName = hostName, UserName = userName, Password = password };
_connection = factory.CreateConnection();
_channel = _connection.CreateModel();
}
/// <summary>
///
/// </summary>
/// <returns></returns>
public IModel GetChannel() => _channel;
/// <summary>
///
/// </summary>
public void Dispose()
{
_channel?.Close();
_connection?.Close();
}
}
}