public BrokerConsumerService( ILogger <BrokerConsumerService> logger, IOptions <RabbitMQInfo> rabbitInfo, IOptions <StockQueues> stockQueue, IConfiguration configuration, IBrokerService brokerService) { _rabbitInfo = rabbitInfo.Value; _stockQueue = stockQueue.Value; _connectionFactory = new ConnectionFactory { HostName = _rabbitInfo.HostName, UserName = _rabbitInfo.UserName, Password = _rabbitInfo.Password }; _connection = _connectionFactory.CreateConnection(); _configuration = configuration; _brokerService = brokerService; _stockApi = _configuration.GetSection("StockApi").Value; }
/// <summary> /// Constructor de la clase que configura los datos necesarios para conectarse con rabbit /// </summary> /// <param name="ampOptionsSnapshot">Opciones de configuracion para Rabbit</param> public RabbitMQService(IOptions <RabbitMQInfo> ampOptionsSnapshot, IConfiguration configuration) { _configuration = configuration; IDictionary environmentVariables = Environment.GetEnvironmentVariables(); if (environmentVariables.Contains("RabbitQueueName")) { queueName = environmentVariables["RabbitQueueName"] as string; } else { queueName = _configuration["RabbitQueueName"]; } amqpInfo = ampOptionsSnapshot.Value; connectionFactory = new ConnectionFactory { UserName = amqpInfo.UsernameRabbitMq, Password = amqpInfo.PasswordRabbitMq, VirtualHost = amqpInfo.VirtualHostRabbitMq, HostName = amqpInfo.HostNameRabbitMq, Uri = new Uri(amqpInfo.UriRabbitMq) }; }
/// <summary> /// Constructor de la clase que configura los datos necesarios para conectarse con rabbit /// </summary> /// <param name="ampOptionsSnapshot">Opciones de configuracion para Rabbit</param> public RabbitMQService(IOptions <RabbitMQInfo> ampOptionsSnapshot) { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); IConfigurationRoot Configuration = builder.Build(); IDictionary environmentVariables = Environment.GetEnvironmentVariables(); if (environmentVariables.Contains("RabbitQueueName")) { queueName = environmentVariables["RabbitQueueName"] as string; } else { queueName = Configuration["RabbitQueueName"]; } amqpInfo = ampOptionsSnapshot.Value; connectionFactory = new ConnectionFactory { UserName = amqpInfo.UsernameRabbitMq, Password = amqpInfo.PasswordRabbitMq, VirtualHost = amqpInfo.VirtualHostRabbitMq, HostName = amqpInfo.HostNameRabbitMq, Uri = new Uri(amqpInfo.UriRabbitMq) }; connection = connectionFactory.CreateConnection(); }
public ChatHubService(IServiceProvider serviceProvider, IBrokerProducerService brokerProducerService, IOptions <RabbitMQInfo> rabbitInfo, IOptions <StockQueues> stockQueues ) { _serviceProvider = serviceProvider; _brokerProducerService = brokerProducerService; _rabbitInfo = rabbitInfo.Value; _stockQueues = stockQueues.Value; _brokerProducerService.QueueCallBack += async(o, e) => { await SendMessage(BOT_USER_NAME, e.StockInfo); }; }
public BrokerProducerService( ILogger <BrokerProducerService> logger, IOptions <RabbitMQInfo> rabbitInfo ) { _logger = logger; _rabbitInfo = rabbitInfo.Value; _connectionFactory = new ConnectionFactory { HostName = _rabbitInfo.HostName, UserName = _rabbitInfo.UserName, Password = _rabbitInfo.Password }; _connection = _connectionFactory.CreateConnection(); _channel = _connection.CreateModel(); _callbackQueue = _channel.QueueDeclare().QueueName; _consumer = new EventingBasicConsumer(_channel); _properties = _channel.CreateBasicProperties(); RegisterRabbitConfig(); }