public void Publish(ChannelMessage channelMessage) { var messageType = channelMessage.GetHeader(MessageHeaders.MessageType); var endpoints = subscriptionStorage.GetSubscribersEndpoints(messageType); foreach (var destination in endpoints.Select(EndpointAddress.Parse)) { MsmqUtilities.WriteMessage(destination, channelMessage); } }
public void Publish(ChannelMessage channelMessage) { var messageName = channelMessage.GetHeader(MessageHeaders.MessageName); var endpoints = subscriptionStorage.GetSubscribers(messageName); foreach (var destination in endpoints.Select(EndpointAddress.Parse)) { Send(destination, channelMessage); } }
public void Publish(ChannelMessage cm) { var exchange = busConfig.EndpointName.ToLower(); var properties = ConstructHeaders(cm); var body = cm.BodyStream.ToByteArray(); var messageName = cm.GetHeader(MessageHeaders.MessageName); lock (channel) { channel.BasicPublish(exchange, string.Empty, properties, body); } }