Exemple #1
0
        virtual protected async Task ProcessSession()
        {
            _tokenSource = new CancellationTokenSource();
            var token = _tokenSource.Token;

            var handshakeResult = await HandshakeProvider.RunAsync(_sessionContext, token);

            SendReponse(handshakeResult.StatusReason, handshakeResult.StatusCode);

            if (AuthProvider != null)
            {
                var authresult = await AuthProvider.RunAsync(_sessionContext, token);

                SendReponse(authresult.StatusReason, authresult.StatusCode);
            }

            var senderValidationResult = await SenderValidationProvider.RunAsync(_sessionContext, token);

            SendReponse(senderValidationResult.StatusReason, senderValidationResult.StatusCode);

            var recipientValidationResult = await RecipientValidationProvider.RunAsync(_sessionContext, token);

            SendReponse(recipientValidationResult.StatusReason, recipientValidationResult.StatusCode);

            var messageReaderResult = await MessageReaderProvider.RunAsync(_sessionContext, token);

            SendReponse(messageReaderResult.StatusReason, messageReaderResult.StatusCode);
        }
Exemple #2
0
 public RabbitMQListener(
     IConnectionProvider <RabbitMQConnection> connectionProvider,
     IServiceProvider serviceprovider,
     ILogger <ISubscription> logger,
     MessageReaderProvider messageReaderProvider,
     RabbitMessageSerializer rabbitMessageSerializer
     )
 {
     this.rabbitConnection        = connectionProvider.GetConnection(null);
     this.serviceprovider         = serviceprovider;
     this.logger                  = logger;
     this.messageReaderProvider   = messageReaderProvider;
     this.rabbitMessageSerializer = rabbitMessageSerializer;
 }
Exemple #3
0
 public static IServiceCollection AddRabbitMessageReader(this IServiceCollection services, MessageReaderProvider messageReaderProvider)
 {
     services.AddScoped((services) => messageReaderProvider);
     return(services);
 }
        public static IServiceCollection AddRabbitMessageReader(this IServiceCollection services, MessageReaderProvider messageReaderProvider, ServiceLifetime lifetime)
        {
            var serviceDescriptor = new ServiceDescriptor(typeof(MessageReaderProvider), (services) => messageReaderProvider, lifetime);

            services.Add(serviceDescriptor);
            return(services);
        }