public MQTypedMessageConsumeExecutor(IMQServiceProvider provider, IMQMessageDeserializer <TMessage> deserializer)
        {
            _serviceScope = provider.CreateScope();
            _deserializer = deserializer;

            _typedMessageConsumer = new Lazy <IMQTypedMessageConsumer <TMessage, TContent> >(ResolveTypedMessageConsumer);
        }
 public MQBusRegistration(IMQServiceProvider provider, IReadOnlyDictionary <Type, IMQMessageConsumerRegistration> messageConsumerDict)
 {
     ServiceProvider      = provider;
     _messageConsumerDict = messageConsumerDict;
 }
        public void AttachToConsumer <TMessage, TContent>(IMQConsumerConfigurator <TMessage> configurator, IMQServiceProvider provider)
            where TMessage : class
            where TContent : class
        {
            CheckIsTypedMessageConsumer <TMessage, TContent>();

            configurator.TypedConsume(deserializer =>
            {
                return(new MQTypedMessageConsumeExecutor <TMessage, TContent, TMessageConsumer>(provider, deserializer));
            });
        }
        public MQMessageConsumeExecutor(IMQServiceProvider provider)
        {
            _serviceScope = provider.CreateScope();

            _messageConsumer = new Lazy <IMQMessageConsumer <TMessage> >(ResolveMessageConsumer);
        }
        public void AttachToConsumer <TMessage>(IMQConsumerConfigurator <TMessage> configurator, IMQServiceProvider provider)
            where TMessage : class
        {
            CheckIsMessageConsumer <TMessage>();

            configurator.Consume(() => new MQMessageConsumeExecutor <TMessage, TMessageConsumer>(provider));
        }