Assuming a green field project, what choice of technologies, libraries, middleware, etc. would make it easiest to implement publish-subscribe messaging with durable subscriptions on Windows and .NET? I found WCF Peer Channel using Google, which seems to do most of what I need, but I do not think it guarantees message ordering, nor does it persist messages to disk for reliability. Microsoft says these capabilities can be layered on top, but I was looking for something that already has them.
MSMQ distrubution lists are close to what I want, but I would prefer something where the messaging layer did not have to know about all the clients up front.
The number of subscribers is not large, probably less than 20.
Both publishers and subscribers are implemented in C#/.NET and running on Windows.
EDIT: I am looking into the message-oriented middleware and service bus suggestions. I am familiar with the enterprise-y products in this space - am really looking for something simple and lightweight. It takes a while to look at each product, but I will try to summarize my findings.