我目前正在应用程序的一个组成部分应用程序需要与多个其他系统的组成基于某些事件。这些事件发生基于许多不同的触发器...有些事件是由一个用户的行动,其他用户的需要通知,有些事件是基于时间和其他活动都是基于一种变化状态的对象。

根据我已经看了迄今为止,这听起来像干净的方式将应用成分是设置一个出版/预订模型在哪里我的对象组分事件发布,其他感兴趣的应用组件可以订阅。

我已经看到nServiceBus,和对于"供应商-锁住"原因,我无法使用。网服务在蔚蓝。还有没有其他的技术可用?是有一个不同的方法,应该是我们考虑吗?

编辑 -需要明确的是,这是一个基于网络的高容量应用。该应用程序是ASP.NET 视和软应用程序是与多个WCF服务的数据。

有帮助吗?

解决方案

WCF肯定是能够处理pub/子的情况-和将更多的一次。净4的新的WCF Azure继绑定。

现在,看看这些文章的主题:

对未来的蔚基pub/子通讯的使用。网服务巴士,请参阅这些文章:

其他提示

还有 MassTransit 。从未使用过它,但它在同一个会话作为nServiceBus通常提及。

根据你想要做什么,另外还有托管扩展框架。不是一个真正的发布/订阅框架,但它的东西,要知道,如果你没有的话。

Udi(创作者的nServiceBus)有一个精简的版本,他概念的领域事件对他的 博客

我们以此为基础开发一个简单的实施像nServiceBus,我们可以使用在我们的解决方案。

要实现一个经典的发布/使用.NET订阅模式,我会用 ActiveMQ的。这是很容易理解,如果你已经知道JMS,学习曲线真的是平的。

WCF

谷歌发布WCF模型SUBCRIBE。我认为朱瓦尔·洛编程WCF的附件部分都怎么做这是一个很好的解释。

EDIT http://idesign.net/idesign/DesktopDefault.aspx?tabindex=5&tabid= 11 结果 寻找发布 - 订阅框架

棱镜附带提供松散耦合事件的EventAggregator。

在到目前为止的答案是好的假设你有一个多进程或SOA架构。

如果它是一个简单独立的应用程序,也许是建立在C#中的事件模型在你的情况下效果很好。可替代地,还可以使用委托或一个接口来传递到服务器/出版商。

观察者模式链接可能会有帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top