我应该在本地IPC中使用WCF双工还是手动创建两个通道?

时间:2014-05-13 12:22:39

标签: c# .net wcf ipc duplex

我正在开发一个由两个独立进程(.exe文件)组成的应用程序。 ProcessA和ProcessB需要以双向方式进行通信。两个说明了这两个过程的通信类型,我将简单地说明我的功能:

  • ProcessA是一个“监视程序”,可以监视ProcessB是否已启动并运行。 ProcessA也应该为ProcessB提供配置。

  • ProcessB是业务逻辑的主要应用程序。如果出现严重错误,ProcessB应通知ProcessA。

我决定使用本地管道的WCF实现它们之间的通信,因为进程在同一台机器上。由于这两个进程都需要发送和接收“消息”,我想知道这样做会更好:

  1. 通过WCF双工功能(例如,实现一个服务合同,然后在其上设置Call​​backContract属性)
  2. 通过创建两个单独的WCF服务 - 每个进程一个(例如,ProcessA将实现IProcessAService服务合同,而ProcessB将实现IProcessBService)。然后ProcessA将使用IProcessBService,ProcessB将使用IProcessAService。
  3. 我不确定哪种方法更好,因为我想避免过多复杂的逻辑来同步这些进程的通信方式。有关此方案的任何指南或最佳实践提示都将非常受欢迎。

0 个答案:

没有答案