public async Task <bool> SaveGroup(QueueMessagesRequest request) { bool ifExist = false; if (_hubContext.Clients.Group(request.QueueName) != null) { ifExist = true; } await _hubContext.Groups.AddToGroupAsync(request.ConnectionId, request.QueueName); return(ifExist); }
public async Task Start(QueueMessagesRequest request) { try { var consumer = await _listenerService.InitConsumer(request.QueueName); _clientsContainer.AddConnection(request.ConnectionId, consumer); consumer.Received += async(source, e) => { await _publisher.Send(request, e); }; } catch (Exception ex) { throw; } }
public async Task Send(QueueMessagesRequest request, BasicDeliverEventArgs queueMessage) { await _hubContext.Groups.AddToGroupAsync(request.ConnectionId, request.QueueName); var responseBody = queueMessage.Body; var responseString = Encoding.UTF8.GetString(responseBody); if (responseString != null) { try { await _hubContext.Clients.Group(request.QueueName).MessageReceived(responseString); } catch (Exception ex) { await _hubContext.Clients.Group(request.QueueName).Excepion(ex.ToString()); } } }
public async Task <ResponseBase> PostQueueMessages(QueueMessagesRequest request) { return(await _factory.GetHandler(request.GetType()).HandleAsync(request)); }