2010-06-21 75 views
0

我有一个小的WPF应用程序。我希望将它整合到我们现有的系统中。我有两个COM服务器实现为MFC MDI应用程序,我们称它们为COM_Srv1和COM_Srv2。WPF应用程序 - MFC应用程序互操作

  1. COM_Srv1需要调用WPF应用程序的方法,比如StartTask。任务完成时WPF应用程序通知COM_Srv1应用程序
  2. WPF应用程序可能需要调用COM_Srv2上的方法来执行特定任务。在这个任务完成COM_Srv2通知WPF应用程序与结果

这两种情况都差不多(MFC MDI COM服务器调用WPF应用程序和WPF应用程序调用MFC MDI COM服务器),但我列出了他们。

如果它本来是两个MFC COM服务器互通的情况下,那么我会实现一个接口和一个COM事件源/接收器。

但我不知道实现WPF应用程序和COM MFC MDI应用程序之间的互操作的最佳方式? 我一直在思考

  1. WCF服务作为两个
  2. 之间的桥梁,在双方实现COM终点 - 即。在WPF应用程序中托管一个带有事件/源接收器的COM组件 等

如果能够帮助您解决某些特定信息,我将不胜感激。

回答

0

我在MFC应用程序中创建了具有事件源的COM类。我的WPF应用程序连接到此coclass并接收事件。这种方式从我的MFC应用程序到WPF应用程序的通信是可能的。确保线程和公寓在两个应用程序中均正确实施。