Skip to content

Instantly share code, notes, and snippets.

@wattsm
Created October 16, 2012 07:36
Show Gist options
  • Save wattsm/3897822 to your computer and use it in GitHub Desktop.
Save wattsm/3897822 to your computer and use it in GitHub Desktop.
Example message consumer factory
public class ExampleConsumerFactory : ConsumerFactoryBase {
public override IEnumerable<IMessageConsumer> GetConsumers(IMessageContext messageContext) {
var consumers = new List<IMessageConsumer>();
if(messageContext.Message.Headers.Exists("queues")) {
var queues = messageContext
.Message
.Headers
.GetValue("queues")
.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
foreach(var queue in queues) {
var path = String.Format(".\private$\{0}", queue);
var consumer = new MsmqMessageConsumer();
consumer.Configure(new Dictionary<string, string> { { "queue-path", path } });
consumers.Add(consumer);
}
}
return consumers;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment