在单独的流程中提升和处理事件

时间:2016-03-20 10:47:46

标签: c# events

以下是我的问题的要点

  1. 流程A引发事件
  2. 可能在另一台机器上处理B,捕获事件并执行某些操作
  3. .net框架是否可以实现这一点?我看过的每个例子都在同一台机器上的同一个进程/应用程序中有事件生成器和使用者。有时它们在同一个线程中,有时它们位于不同的线程中,但它们总是在同一台机器上处于同一个进程中。

    我可以使用套接字将事件从一个进程发送到另一个进程并在接收端引发事件,从而实现事件处理程序所需的效果。这看起来像一个非常迂回的方法,因为我必须创建事件ID,序列化/反序列化参数并使用一整套套接字代码,这与我在90年代在C中所做的相同。

    现在的问题是

    如何使用.net框架事件机制在同一台机器上将事件从一个进程发送到另一个进程?

1 个答案:

答案 0 :(得分:0)

这听起来很像进程间通信(IPC),其中存在多种机制,在非Windows系统中具有不同程度的支持。有WCF,远程处理和内存映射的IPC,在我的头脑中。在实践中,我发现使用像zeromq这样的轻量级pub子机制是最合适的解决方案。

相关问题