public void Publish(MessageCommandEnum messageCommand, string message, bool persistent = true) { var properties = channel.CreateBasicProperties(); properties.Persistent = persistent; var messageBody = Encoding.UTF8.GetBytes(JsonSerialize(messageCommand, message)); channel.BasicPublish(exchange: EXCHANGE_NAME, routingKey: ROUTING_KEY, basicProperties: properties, body: messageBody); }
private string GetJsonString(MessageCommandEnum command, object data) { CommandObject obj = new CommandObject() { Command = command, Data = data }; var setting = new JsonSerializerSettings(); setting.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; return(JsonConvert.SerializeObject(obj, setting)); }
protected void SendToRabbitMQ(MessageCommandEnum command, string message) { try { logger.Info("Send to RabbitMQ Server"); client.Publish(command, message); logger.Info("Send to RabbitMQ Server"); } catch (Exception ex) { logger.Error(ex.Message, ex); } }
public string JsonSerialize(MessageCommandEnum command, object data) { CommandObject commandObject = new CommandObject() { Command = command, Data = data }; var config = new JsonSerializerSettings(); config.ReferenceLoopHandling = ReferenceLoopHandling.Ignore; return(JsonConvert.SerializeObject(new { Command = command, Data = data }, config)); }
private void SoketNetworkSentClient(MessageCommandEnum command, object data) { try { logger.Info("send to client"); string json = GetJsonString(command, data); if (socketClients != null && socketClients.Count > 0) { socketClients.ForEach(s => { s.Send(Encoding.ASCII.GetBytes(json)); logger.InfoFormat("Data: {0}", json); }); } logger.Info("sent to client"); } catch (Exception ex) { logger.Error(ex.Message, ex); } }