コード例 #1
0
        private Message MapToBrighterMessage(IBrokeredMessageWrapper azureServiceBusMessage)
        {
            if (azureServiceBusMessage.MessageBodyValue == null)
            {
                s_logger.LogWarning(
                    "Null message body received from topic {Topic} via subscription {ChannelName}.",
                    _topicName, _subscriptionName);
            }

            var messageBody = System.Text.Encoding.Default.GetString(azureServiceBusMessage.MessageBodyValue ?? Array.Empty <byte>());

            s_logger.LogDebug("Received message from topic {Topic} via subscription {ChannelName} with body {Request}.",
                              _topicName, _subscriptionName, messageBody);
            MessageType messageType  = GetMessageType(azureServiceBusMessage);
            var         handledCount = GetHandledCount(azureServiceBusMessage);
            var         headers      = new MessageHeader(azureServiceBusMessage.Id, _topicName, messageType, DateTime.UtcNow,
                                                         handledCount, 0, azureServiceBusMessage.CorrelationId, contentType: azureServiceBusMessage.ContentType);

            if (_receiveMode.Equals(ServiceBusReceiveMode.PeekLock))
            {
                headers.Bag.Add(ASBConstants.LockTokenHeaderBagKey, azureServiceBusMessage.LockToken);
            }
            foreach (var property in azureServiceBusMessage.ApplicationProperties)
            {
                headers.Bag.Add(property.Key, property.Value);
            }
            var message = new Message(headers, new MessageBody(messageBody));

            return(message);
        }
コード例 #2
0
        private Message MapToBrighterMessage(IBrokeredMessageWrapper azureServiceBusMessage)
        {
            if (azureServiceBusMessage.MessageBodyValue == null)
            {
                s_logger.LogWarning(
                    "Null message body received from topic {Topic} via subscription {ChannelName}.",
                    _topicName, _subscriptionName);
            }

            var messageBody = System.Text.Encoding.Default.GetString(azureServiceBusMessage.MessageBodyValue ?? Array.Empty <byte>());

            s_logger.LogDebug("Received message from topic {Topic} via subscription {ChannelName} with body {Request}.",
                              _topicName, _subscriptionName, messageBody);
            MessageType messageType  = GetMessageType(azureServiceBusMessage);
            var         handledCount = GetHandledCount(azureServiceBusMessage);
            var         headers      = new MessageHeader(Guid.NewGuid(), _topicName, messageType, DateTime.UtcNow, handledCount, 0);

            if (_receiveMode.Equals(ReceiveMode.PeekLock))
            {
                headers.Bag.Add(_lockTokenKey, azureServiceBusMessage.LockToken);
            }
            var message = new Message(headers, new MessageBody(messageBody));

            return(message);
        }
コード例 #3
0
        private static int GetHandledCount(IBrokeredMessageWrapper azureServiceBusMessage)
        {
            var count = 0;

            if (azureServiceBusMessage.UserProperties != null && azureServiceBusMessage.UserProperties.ContainsKey("HandledCount"))
            {
                int.TryParse(azureServiceBusMessage.UserProperties["HandledCount"].ToString(), out count);
            }
            return(count);
        }
コード例 #4
0
        private static int GetHandledCount(IBrokeredMessageWrapper azureServiceBusMessage)
        {
            var count = 0;

            if (azureServiceBusMessage.ApplicationProperties != null && azureServiceBusMessage.ApplicationProperties.ContainsKey(ASBConstants.HandledCountHeaderBagKey))
            {
                int.TryParse(azureServiceBusMessage.ApplicationProperties[ASBConstants.HandledCountHeaderBagKey].ToString(), out count);
            }
            return(count);
        }
コード例 #5
0
        private static MessageType GetMessageType(IBrokeredMessageWrapper azureServiceBusMessage)
        {
            if (azureServiceBusMessage.UserProperties == null || !azureServiceBusMessage.UserProperties.ContainsKey("MessageType"))
            {
                return(MessageType.MT_EVENT);
            }

            if (Enum.TryParse(azureServiceBusMessage.UserProperties["MessageType"].ToString(), true, out MessageType messageType))
            {
                return(messageType);
            }

            return(MessageType.MT_EVENT);
        }
コード例 #6
0
        private static MessageType GetMessageType(IBrokeredMessageWrapper azureServiceBusMessage)
        {
            if (azureServiceBusMessage.ApplicationProperties == null || !azureServiceBusMessage.ApplicationProperties.ContainsKey(ASBConstants.MessageTypeHeaderBagKey))
            {
                return(MessageType.MT_EVENT);
            }

            if (Enum.TryParse(azureServiceBusMessage.ApplicationProperties[ASBConstants.MessageTypeHeaderBagKey].ToString(), true, out MessageType messageType))
            {
                return(messageType);
            }

            return(MessageType.MT_EVENT);
        }
コード例 #7
0
        private Message MapToBrighterMessage(IBrokeredMessageWrapper azureServiceBusMessage)
        {
            if (azureServiceBusMessage.MessageBodyValue == null)
            {
                _logger.Value.Warn($"Null message body received from topic {_topicName} via subscription {_subscriptionName}.");
            }

            var messageBody = System.Text.Encoding.Default.GetString(azureServiceBusMessage.MessageBodyValue ?? Array.Empty <byte>());

            _logger.Value.Debug($"Received message from topic {_topicName} via subscription {_subscriptionName} with body {messageBody}.");
            MessageType messageType = GetMessageType(azureServiceBusMessage);
            var         headers     = new MessageHeader(Guid.NewGuid(), _topicName, messageType);

            if (_receiveMode.Equals(ReceiveMode.PeekLock))
            {
                headers.Bag.Add(_lockTokenKey, azureServiceBusMessage.LockToken);
            }
            var message = new Message(headers, new MessageBody(messageBody));

            return(message);
        }