Exemplo n.º 1
0
        public async Task <ICommandResponseGrain <CommandResult> > RequestForResponse(int messageIndex, string reqMessage, string device)
        {
            _logger.MemberEntry();

            var messageId = Guid.NewGuid();

            var sender = GrainFactory.GetGrain <ISenderGrain>(Guid.NewGuid());

            var message = new RabbitSendMessage(messageIndex.ToString(), new MessageDto()
            {
                Message = reqMessage, MessageId = messageId.ToString(), MessageDirection = MessageDirection.ToClient, DeviceId = device
            })
            {
                Header = new MessageHeader()
                {
                    ContentType = MimeTypes.ApplicationJson, CorrelationId = messageId.ToString()
                },
            };
            await sender.SendMessage(message, ConnectionConst.AmqpConnection, ConnectionConst.CommandExchange, device);

            var cmdResponse = GrainFactory.GetGrain <ICommandResponseGrain <CommandResult> >(messageId);

            _logger.MemberExit();
            return(cmdResponse);
        }
Exemplo n.º 2
0
 static async Task ProcessMessage(IReceivedMessage message)
 {
     var msg = new RabbitSendMessage("CommandResponse", new MessageDto()
     {
         Message = "Response", MessageId = message.Header.MessageId, MessageDirection = MessageDirection.ToHub
     })
     {
         Header = new MessageHeader()
         {
             ContentType = MimeTypes.ApplicationJson, CorrelationId = message.Header.CorrelationId
         },
     };
     var _sender = new RabbitMqQueueSender(ConnectionConst.AmqpConnection, ConnectionConst.Exchange, ConnectionConst.MessageQueue);
     await _sender.Send(msg);
 }
        public async Task PostAsync(string dataMessage)
        {
            var message = new RabbitSendMessage("DataPush", new MessageDto()
            {
                Message = dataMessage, MessageDirection = MessageDirection.ToPush
            })
            {
                Header = new MessageHeader()
                {
                    ContentType = MimeTypes.ApplicationJson
                },
            };

            using (_sender = new RabbitMqQueueSender(ConnectionConst.AmqpConnection, ConnectionConst.Exchange, ConnectionConst.DataQueue))
            {
                await _sender.Send(message);
            }
        }
        public async Task PostAsync(string messageId, string respMessage)
        {
            var message = new RabbitSendMessage("CommandResponse", new MessageDto()
            {
                Message = respMessage, MessageId = messageId.ToString(), MessageDirection = MessageDirection.ToHub
            })
            {
                Header = new MessageHeader()
                {
                    ContentType = MimeTypes.ApplicationJson, CorrelationId = messageId
                },
            };

            using (_sender = new RabbitMqQueueSender(ConnectionConst.AmqpConnection, ConnectionConst.Exchange, ConnectionConst.MessageQueue))
            {
                await _sender.Send(message);
            }
        }
Exemplo n.º 5
0
        public async Task PostAsync(string deviceID)
        {
            CreateQueue(deviceID);

            var message = new RabbitSendMessage("StartQueue", new MessageDto()
            {
                Message = deviceID, MessageDirection = MessageDirection.ToStart
            })
            {
                Header = new MessageHeader()
                {
                    ContentType = MimeTypes.ApplicationJson
                }
            };

            using (_sender = new RabbitMqQueueSender(ConnectionConst.AmqpConnection, ConnectionConst.Exchange, ConnectionConst.MessageQueue))
            {
                await _sender.Send(message);
            }
        }