背景:
- 我们有一堆需要集成的 Windows 应用程序。
- 我们认为发布-订阅 IPC 机制/库可以解决问题。
- 应用间事件不需要持久化;
- 并非所有应用程序都是在 .NET 上编写的,但那些没有允许在 .NET 中扩展的插件架构的应用程序
- 这些应用程序由终端服务环境中的用户运行。
- IPC 机制应该支持用户隔离。我不希望 Joe 的 App A 实例发送给 Joe 的 App B 实例的消息最终出现在 Sam 的 App B 实例上。
据我了解,这可以通过以下任一方式实现:
- 使用内置用户隔离 (DDE) 的 IPC
- 使用通用 IPC 并自己实现用户隔离(在消息中包含用户 ID)
问题:
- 我们正在考虑的选项之一是 NServiceBus。有没有人使用这个库来解决同样的问题(桌面集成)?NServiceBus 甚至打算以这种方式使用吗?也许有人用 volatile 替换了默认传输(MSMQ)?
- 有没有人真的有同样的问题并用不同的发布-订阅机制解决了它?