2010-06-21 71 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應用程序的通信是可能的。確保線程和公寓在兩個應用程序中均正確實施。