Exemplo n.º 1
0
        /// <summary>
        /// 设置
        /// </summary>
        /// <param name="configuration">配置</param>
        /// <param name="options">配置对象</param>
        internal static void SetRabbitMqOptions(IConfiguration configuration, RabbitMqMessageBusOptions options)
        {
            string uri = configuration.GetValue <string>("RabbitMQ.Default.Uri");

            if (string.IsNullOrWhiteSpace(uri))
            {
                throw new ConfigException("RabbitMQ.Default.Uri");
            }
            string username = configuration.GetValue <string>("RabbitMQ.Default.Username");

            if (string.IsNullOrWhiteSpace(username))
            {
                throw new ConfigException("RabbitMQ.Default.Username");
            }
            string password = configuration.GetValue <string>("RabbitMQ.Default.Password");

            if (string.IsNullOrWhiteSpace(password))
            {
                throw new ConfigException("RabbitMQ.Default.Password");
            }
            string exchange = configuration.GetValue <string>("RabbitMQ.Default.Exchange");

            if (!string.IsNullOrWhiteSpace(exchange))
            {
                throw new ConfigException("RabbitMQ.Default.Exchange");
            }

            options.Uri      = uri;
            options.Username = username;
            options.Password = password;
            options.Exchange = exchange;
        }
Exemplo n.º 2
0
 /// <summary>
 /// 构造函数
 /// </summary>
 /// <param name="options"></param>
 /// <param name="loggerFactory"></param>
 public DefaultRabbitMqMessageBus(IOptions <RabbitMqMessageBusOptions> options, ILoggerFactory loggerFactory)
 {
     _options        = options.Value;
     _loggerLazy     = new Lazy <ILogger>(() => loggerFactory?.CreateLogger <DefaultRabbitMqMessageBus>() ?? NullLogger <DefaultRabbitMqMessageBus> .Instance);
     _connectionLazy = new Lazy <IConnection>(CreateConnection, true);
 }