Example #1
0
 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);
     }
 }
Example #2
0
        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);
            }
        }
Example #3
0
        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);
            }
        }