コード例 #1
0
 public UserService(IUserRepository repository, IHasher hasher, IOptions <AppSettings> appSettings, IJWTTokenGenerator tokenGenerator, IMessageQueuePublisher messageQueuePublisher, IOptions <MessageQueueSettings> messageQueueSettings)
 {
     _repository            = repository;
     _hasher                = hasher;
     _tokenGenerator        = tokenGenerator;
     _messageQueuePublisher = messageQueuePublisher;
     _messageQueueSettings  = messageQueueSettings.Value;
 }
コード例 #2
0
        public AccountService(IAccountRepository repository, IHasher hasher, ITokenGenerator tokenGenerator,
                              IMessageQueuePublisher messageQueuePublisher, IOptions <MessageQueueSettings> messageQueueSettings, IAccountKwetPublisher accountKwetPublisher, IJwtIdClaimReaderHelper jwtIdClaimReaderHelper)
        {
            _repository            = repository;
            _hasher                = hasher;
            _tokenGenerator        = tokenGenerator;
            _messageQueuePublisher = messageQueuePublisher;
            _messageQueueSettings  = messageQueueSettings.Value;

            _accountKwetPublisher   = accountKwetPublisher;
            _jwtIdClaimReaderHelper = jwtIdClaimReaderHelper;
        }
コード例 #3
0
        public QueueAdapter(IMessageQueueFactory messageFactory)
        {
            messagePublisherIsActive = false;

            if (!messageFactory.IsActive || !messageFactory.IsOpen)
            {
                return;
            }

            messagePublisherIsActive = true;
            messagePublisher         = messageFactory.CreatePublisher();
        }
コード例 #4
0
 public AccountService(IAccountRepository repository, IHasher hasher, ITokenGenerator tokenGenerator,
                       IRegexHelper regexHelper, IMessageQueuePublisher messageQueuePublisher, IOptions <MessageQueueSettings> messageQueueSettings, IUserMarketplacePublisher _userMarketplacePublisher, IJwtIdClaimReaderHelper jwtIdClaimReaderHelper)
 {
     _repository                    = repository;
     _hasher                        = hasher;
     _tokenGenerator                = tokenGenerator;
     _regexHelper                   = regexHelper;
     _messageQueuePublisher         = messageQueuePublisher;
     _messageQueueSettings          = messageQueueSettings.Value;
     _jwtIdClaimReaderHelper        = jwtIdClaimReaderHelper;
     this._userMarketplacePublisher = _userMarketplacePublisher;
 }
コード例 #5
0
 public RegisterService(
     IUserRepository repository,
     IRegexValidator regexValidator,
     IHashGenerator hashGenerator,
     IMessageQueuePublisher messageQueuePublisher
     )
 {
     _repository            = repository;
     _regexValidator        = regexValidator;
     _hashGenerator         = hashGenerator;
     _messageQueuePublisher = messageQueuePublisher;
 }
コード例 #6
0
        /// <summary>
        /// Создать сервис для публикации сообщений.
        /// </summary>
        public IMessageQueuePublisher CreateMessageQueuePublisher()
        {
            if (_queuePublisher == null)
            {
                // Сессия на поток, чтобы иметь возможность быстрой публикации сообщений
                var sessionManager  = new MessageQueueSessionManagerPerThread(_sessionFactory);
                var commandExecutor = new MessageQueueCommandExecutor(_commandExecutor, sessionManager);

                _queuePublisher = new MessageQueuePublisher(commandExecutor);
            }

            return(_queuePublisher);
        }
コード例 #7
0
        /// <summary>
        ///     Опубликовать сообщение.
        /// </summary>
        /// <typeparam name="T">Тип сообщения.</typeparam>
        /// <param name="target">Сервис для публикации сообщений.</param>
        /// <param name="exchange">Наименование точки обмена сообщениями.</param>
        /// <param name="routingKey">Ключ маршрутизации сообщения.</param>
        /// <param name="properties">Свойства сообщения.</param>
        /// <param name="body">Тело сообщения.</param>
        public static void Publish <T>(this IMessageQueuePublisher target, string exchange, string routingKey,
                                       MessageProperties properties, T body)
        {
            if (properties == null)
            {
                properties = new MessageProperties();
            }

            properties.TypeName        = typeof(T).FullName;
            properties.ContentType     = "application/json";
            properties.ContentEncoding = "utf-8";

            target.Publish(exchange, routingKey, properties, Serializer.Serialize(body));
        }
コード例 #8
0
        private void InitializePublisher()
        {
            if (messagePublisherInitialized)
            {
                return;
            }

            messagePublisherInitialized = true;

            if (!messageFactory.IsActive || !messageFactory.IsOpen)
            {
                return;
            }

            if (string.IsNullOrWhiteSpace(monitorExchange))
            {
                return;
            }

            messagePublisher       = messageFactory.CreatePublisher();
            messagePublisherActive = true;
        }
コード例 #9
0
 public UserPublisher(IMessageQueuePublisher messageQueuePublisher, IOptions <MessageQueueSettings> messageQueueSettings)
 {
     this._messageQueuePublisher = messageQueuePublisher;
     this._messageQueueSettings  = messageQueueSettings.Value;
 }
コード例 #10
0
 public AccountKwetPublisher(IMessageQueuePublisher messageQueuePublisher, IOptions <MessageQueueSettings> messageQueueSettings)
 {
     _messageQueueSettings  = messageQueueSettings.Value;
     _messageQueuePublisher = messageQueuePublisher;
 }
コード例 #11
0
 public UserMarketplacePublisher(IMessageQueuePublisher messageQueuePublisher, IOptions <MessageQueueSettings> messageQueueSettings)
 {
     _messageQueuePublisher = messageQueuePublisher;
     _messageQueueSettings  = messageQueueSettings.Value;
 }
コード例 #12
0
ファイル: MessageHandler.cs プロジェクト: mishrsud/AWSLabs
 public MessageHandler(IMessageQueuePublisher messageQueuePublisher)
 {
     _messageQueuePublisher = messageQueuePublisher;
     _logger = Log.ForContext <MessageHandler>();
 }