2009-04-21 48 views
0

我正在尝试创建一个反馈系统,将所有消息发布到发布回正确的子系统。我们正在安静地使用队列,并且希望使用户代码尽可能干净。我想根据消息ID切换到反馈系统并发布给其特定订户。我不想为每个订阅者提供服务来收听消息..我想我可以为每个订阅者设置一个队列并触发调用com +组件..但是我正在寻找更现代的方式。使用动态端点MSMQ实现订阅者/发布者系统

我正在调查NServiceBus,但似乎我需要为每个侦听系统(它使一个C#dll和调用一个方法少一点工作),我不需要做一个服务/可执行文件/ webservice,我不确定NServiceBus是否可以基于预加载的配置(从db加载)来处理动态端点。 WCF也是一个选择..它可以确保处理动态端点。

您认为最佳的解决方案是租赁的代码量/可缩放的新系统订阅吗?

感谢

回答

2

看来你正在寻找一个服务主机,而不是消息代理。如果是这样,微软推荐的方法是在IIS中托管你的WCF服务。他们仍然可以使用MSMQ作为传输,但服务本身将由IIS管理。从早期开始,IIS已经发展成为HTTP服务器,现在它更接近于应用服务器,它具有传输(TCP,MSMQ,HTTP),池化,激活,终生策略等选择。

虽然我发现WCF + MSMQ + IIS有点过于复杂,这是你在微软领域付出的代价。

对于漂亮且简单的消息代理,您可以使用Active MQ而不是MSMQ,它会为您提供消息代理以及pub/sub。在.NET中使用它很容易,请检查以下链接:http://activemq.apache.org/nms/

相关问题