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); }
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); } }
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); } }