private void DoInternalSubscription(string eventName) { var containsKey = _subsManager.HasSubscriptionsForEvent(eventName); if (!containsKey) { if (!_connection.IsConnected) { _connection.TryConnect(); } using (var channel = _connection.CreateModel()) { channel.QueueBind(queue: _queueName, exchange: _exchangeName, routingKey: eventName); } } }
private async Task HandleEvent(string eventName, string message) { if (!_subscriptionManager.HasSubscriptionsForEvent(eventName)) { return; } var subscriptions = _subscriptionManager.GetHandlersForEvent(eventName); foreach (var subscription in subscriptions) { await subscription.Handle(message, _eventBusConfiguration.MessageTypeResolver); } }
private async Task HandleEvent(string eventName, string message) { if (!_subscriptionManager.HasSubscriptionsForEvent(eventName)) { return; } using (var scope = _autofac.BeginLifetimeScope("RabbitMQEventBus")) { var subscriptions = _subscriptionManager.GetHandlersForEvent(eventName); foreach (var subscription in subscriptions) { await subscription.Handle(message, scope); } } }