示例#1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="RedisQueueReceiveMessages" /> class.
        /// </summary>
        /// <param name="workSubFactory">The work sub factory.</param>
        /// <param name="receiveMessage">The receive message.</param>
        /// <param name="handleMessage">The handle message.</param>
        /// <param name="cancelWork">The cancel work.</param>
        public RedisQueueReceiveMessages(IRedisQueueWorkSubFactory workSubFactory,
                                         IQueryHandler <ReceiveMessageQuery, RedisMessage> receiveMessage,
                                         ITransportHandleMessage handleMessage,
                                         IQueueCancelWork cancelWork)
        {
            Guard.NotNull(() => workSubFactory, workSubFactory);
            Guard.NotNull(() => receiveMessage, receiveMessage);
            Guard.NotNull(() => handleMessage, handleMessage);
            Guard.NotNull(() => cancelWork, cancelWork);

            _receiveMessage = receiveMessage;
            _handleMessage  = handleMessage;
            _cancelWork     = cancelWork;
            _workSubFactory = workSubFactory;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="RedisQueueReceiveMessages" /> class.
        /// </summary>
        /// <param name="workSubFactory">The work sub factory.</param>
        /// <param name="receiveMessage">The receive message.</param>
        /// <param name="handleMessage">The handle message.</param>
        /// <param name="headers">The headers.</param>
        /// <param name="cancelWork">The cancel work.</param>
        /// <param name="receiveMessageAsync">The receive message asynchronous.</param>
        public RedisQueueReceiveMessages(IRedisQueueWorkSubFactory workSubFactory,
                                         IQueryHandler <ReceiveMessageQuery, RedisMessage> receiveMessage,
                                         ITransportHandleMessage handleMessage,
                                         IHeaders headers,
                                         IQueueCancelWork cancelWork, IQueryHandler <ReceiveMessageQueryAsync, Task <RedisMessage> > receiveMessageAsync)
        {
            Guard.NotNull(() => workSubFactory, workSubFactory);
            Guard.NotNull(() => receiveMessage, receiveMessage);
            Guard.NotNull(() => handleMessage, handleMessage);
            Guard.NotNull(() => headers, headers);
            Guard.NotNull(() => cancelWork, cancelWork);
            Guard.NotNull(() => receiveMessageAsync, receiveMessageAsync);

            _receiveMessage      = receiveMessage;
            _handleMessage       = handleMessage;
            _headers             = headers;
            _cancelWork          = cancelWork;
            _receiveMessageAsync = receiveMessageAsync;
            _workSubFactory      = workSubFactory;
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="SqlServerMessageQueueReceive" /> class.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <param name="connectionFactory">The connection factory.</param>
        /// <param name="cancelWork">The cancel work.</param>
        /// <param name="handleMessage">The handle message.</param>
        /// <param name="receiveMessages">The receive messages.</param>
        /// <param name="sqlHeaders">The SQL headers.</param>
        public SqlServerMessageQueueReceive(QueueConsumerConfiguration configuration,
                                            IConnectionHolderFactory <SqlConnection, SqlTransaction, SqlCommand> connectionFactory,
                                            IQueueCancelWork cancelWork,
                                            ITransportHandleMessage handleMessage,
                                            ReceiveMessage receiveMessages,
                                            IConnectionHeader <SqlConnection, SqlTransaction, SqlCommand> sqlHeaders)
        {
            Guard.NotNull(() => configuration, configuration);
            Guard.NotNull(() => connectionFactory, connectionFactory);
            Guard.NotNull(() => cancelWork, cancelWork);
            Guard.NotNull(() => handleMessage, handleMessage);
            Guard.NotNull(() => receiveMessages, receiveMessages);
            Guard.NotNull(() => sqlHeaders, sqlHeaders);

            _configuration     = configuration;
            _connectionFactory = connectionFactory;
            _cancelWork        = cancelWork;
            _handleMessage     = handleMessage;
            _receiveMessages   = receiveMessages;
            _sqlHeaders        = sqlHeaders;
            _disposeConnection = c => c.Dispose();
        }
        /// <summary>
        /// Initializes a new instance of the <see cref="SqLiteMessageQueueReceive" /> class.
        /// </summary>
        /// <param name="configuration">The configuration.</param>
        /// <param name="cancelWork">The cancel work.</param>
        /// <param name="handleMessage">The handle message.</param>
        /// <param name="receiveMessages">The receive messages.</param>
        /// <param name="log">The log.</param>
        /// <param name="getFileNameFromConnection">The get file name from connection.</param>
        /// <param name="databaseExists">The database exists.</param>
        public SqLiteMessageQueueReceive(QueueConsumerConfiguration configuration,
                                         IQueueCancelWork cancelWork,
                                         ITransportHandleMessage handleMessage,
                                         ReceiveMessage receiveMessages,
                                         ILogger log,
                                         IGetFileNameFromConnectionString getFileNameFromConnection,
                                         DatabaseExists databaseExists)
        {
            Guard.NotNull(() => configuration, configuration);
            Guard.NotNull(() => cancelWork, cancelWork);
            Guard.NotNull(() => handleMessage, handleMessage);
            Guard.NotNull(() => receiveMessages, receiveMessages);
            Guard.NotNull(() => log, log);
            Guard.NotNull(() => getFileNameFromConnection, getFileNameFromConnection);
            Guard.NotNull(() => databaseExists, databaseExists);

            _log                       = log;
            _configuration             = configuration;
            _cancelWork                = cancelWork;
            _handleMessage             = handleMessage;
            _receiveMessages           = receiveMessages;
            _getFileNameFromConnection = getFileNameFromConnection;
            _databaseExists            = databaseExists;
        }