public void Receive() { var currentContext = _contextManager.Current; var context = new ReceiveMessageContext(currentContext) { MessageBrokerType = this.GetType() }; _azureReceiveMessageChain.Receive(context); }
public void Handle(ReceiveMessageContext context) { var messageBrokers = _messageBrokerManager.GetReceivers(); foreach (var messageBroker in messageBrokers) { messageBroker.Receive(); } }
public void Handle(ReceiveMessageContext context) { // todo get rid of reflection, cache it? IMessageEnvelop messageEnvelop; if (!context.TryGetMessageEnvelop(out messageEnvelop)) return; var handlers = _messageBrokerManager.GetHandlers(messageEnvelop.MessageType, context.MessageBrokerType); context.MessageHandlerContainers = new List<IMessageHandlerContainer>(); context.MessageHandlerContainers.AddRange(handlers); // todo don't continue the chain if we didn't find the handler }
public void Handle(ReceiveMessageContext context) { var brokeredMessage = _subscriptionClientWrapper.Client.Receive(); // todo 1341 should we continue the Receive chain if message is not found? if (brokeredMessage == null) return; var messageEnvelop = MessageEnvelop.FromBrokeredMessage(brokeredMessage); // todo 1341 Complete() should be done after successful processing brokeredMessage.Complete(); context.MessageEnvelop = messageEnvelop; }
public void Handle(ReceiveMessageContext context) { IMessageEnvelop messageEnvelop; if (!context.TryGetMessageEnvelop(out messageEnvelop)) return; var message = messageEnvelop.Message; foreach (var messageHandlerContainer in context.MessageHandlerContainers) { var handlerInstance = messageHandlerContainer.Instance; try { messageHandlerContainer.Invoke(handlerInstance, message); } catch (Exception exception) { //_logger.Error("Error handling message:"); //_logger.Error(exception); } } }