Exemplo n.º 1
0
        /// <summary>
        /// Send a ServiceBusMessage to a queue with custom callback
        /// </summary>
        public async Task <ServiceBusMessage> SendToQueueAsync(ServiceBusMessage message)
        {
            return(await ServiceHelper.TryCatchWithLogger(async() =>
            {
                if (message == null)
                {
                    throw new DSWException(MESSAGE_IS_UNDEFINED, null, DSWExceptionCode.SS_Mapper);
                }

                BrokeredMessage requestMessage = _mapper_to_brokered.Map(message, new BrokeredMessage());
                ServiceBusMessage serviceBusMessage = new ServiceBusMessage();
                BrokeredMessage responseMessage = await _queueContext.PublishAsync(requestMessage);
                serviceBusMessage = _mapper_to_message.Map(responseMessage, serviceBusMessage);
                serviceBusMessage.ChannelName = _queueContext.QueueName;
                return serviceBusMessage;
            }, _logger, LogCategories));
        }
Exemplo n.º 2
0
        /// <summary>
        /// Send a ServiceBusMessage to a queue
        /// </summary>
        public async Task <ServiceBusMessage> SendToTopicAsync(ServiceBusMessage message)
        {
            return(await ServiceHelper.TryCatchWithLogger(async() =>
            {
                //message.ChannelName
                if (message == null)
                {
                    throw new DSWException(string.Concat("SendToTopicAsync: ", MESSAGE_IS_UNDEFINED), null, DSWExceptionCode.SS_Mapper);
                }

                if (string.IsNullOrEmpty(message.ChannelName))
                {
                    throw new DSWException(string.Concat("SendToTopicAsync: ", TOPIC_SUBSCRIPTION_IS_EMPTY), null, DSWExceptionCode.SS_Mapper);
                }
                await _topicContext.BeginContextAsync(message.ChannelName);
                BrokeredMessage requestMessage = _mapper_to_brokered.Map(message, new BrokeredMessage());
                ServiceBusMessage serviceBusMessage = new ServiceBusMessage();
                BrokeredMessage responseMessage = await _topicContext.PublishAsync(requestMessage);
                serviceBusMessage = _mapper_to_message.Map(responseMessage, serviceBusMessage);
                serviceBusMessage.ChannelName = message.ChannelName;
                serviceBusMessage.SubscriptionName = string.Empty;
                return serviceBusMessage;
            }, _logger, LogCategories));
        }