我目前正在开发一个应用程序,其中应用程序的一个组件需要根据某些事件与多个其他系统组件进行交互。这些事件基于许多不同的触发器而发生……一些事件是由需要通知其他用户的用户操作引起的,一些事件是基于时间的,而其他事件是基于对象状态的变化。
根据我目前所看到的,听起来最简洁的解耦应用程序组件的方法是设置一个发布/订阅模型,其中组件中的我的对象发布其他感兴趣的应用程序组件可以订阅的事件。
我见过 nServiceBus,出于“供应商锁定”的原因,我不能在 Azure 中使用 .NET 服务。还有其他可用的技术吗?我应该考虑另一种方法吗?
编辑- 明确地说,这是一个基于网络的大容量应用程序。该应用程序是 ASP.NET MVC,并且 MVC 应用程序正在与多个 WCF 服务进行通信以获取其数据。