我正在尝试创建一个非常模块化的系统。考虑到这个想法,任何模块都不应该真正了解任何其他模块(每个模块都在其自己的进程中运行)。
将会有另一个程序打开,并且能够告诉这些模块将发送和接收的内容(这主要是我已经介绍过的)。
我目前遇到的问题是,有没有办法让我能够在另一个进程或应用程序域内查询应用程序?并且这样做最近将这些模块绑定在一起。
EG: 可以在运行时广播“X”的模块将被一个可以接受“X”的模块所喜欢。
这可能很模糊,如果是这样,请让我澄清我没有涉及的任何事情。
现在,我只需要知道是否有可能询问一个过程,如果是这样的话?我对此很新,但我最初的研究并没有把我带到远方。
答案 0 :(得分:0)
我最近为个人家庭自动化系统建模了这样一个系统。基本上,我希望能够让某些传感器(麦克风,相机等)广播它们所拥有的,并让其他计算机或程序在需要时获取该信息,而不知道究竟是谁将获得编译时的数据。
如果这听起来像你正在寻找的,我会看一下Pub-Sub风格的架构。
http://en.wikipedia.org/wiki/Publish%E2%80%93subscribe_pattern
你并没有真正询问这种架构中的过程,但我认为你会得到类似的结果。基本上,你将有一个主要的pub-sub服务器。
在上图中,客户端2和3“订阅”以接收特定类型的消息。服务器知道谁订阅了什么,因此当客户端1发送该消息时,服务器知道它需要将其路由到正确的客户端。
我希望这会有所帮助。
编辑:重新阅读你的问题之后,我觉得你可能已经走到了这一步。也许你需要的只是http://msdn.microsoft.com/en-us/library/bb546102(v=vs.110).aspx
管道允许您在进程之间传递一些信息。您必须在管道中序列化和反序列化数据,但这(与pub-sub体系结构相结合)应该可以满足您的需求。