示例#1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RabbitMQLogProvider" /> class.
        /// </summary>
        /// <param name="connector">The connector.</param>
        /// <param name="cancellationToken">The cancellation token.</param>
        /// <exception cref="ArgumentNullException">connector</exception>
        public RabbitMQLogProvider(RabbitMQConnector connector, CancellationToken cancellationToken)
        {
            _connector = connector ?? throw new ArgumentNullException(nameof(connector));
            _channel   = _connector.ConnectionFactory.CreateConnection().CreateModel();
            _channel.ExchangeDeclare(_connector.DefaultExchangeName, ExchangeType.Fanout, true);
            _cancellationToken = cancellationToken;
            _queue             = new ConcurrentQueue <string>();
            var thread = new Thread(Worker);

            thread.Start();
        }
示例#2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="MessageReceiver" /> class.
 /// </summary>
 /// <param name="connector">The connector.</param>
 /// <exception cref="ArgumentNullException">connector</exception>
 public MessageReceiver(RabbitMQConnector connector) =>