2011-07-25 30 views
0

我需要將我的Silverlight應用程序集成到WPF應用程序中。爲此,我計劃使用WebBrowser控件。在WPF中託管Silverlight並從Silverlight代碼調用WPF代碼中的服務主機

但是,我還需要基於由主機WPF應用程序實現的幾個接口來自定義Silverlight應用程序的行爲。鑑於主機無法直接與Silverlight進行通信,我正在考慮讓主機應用程序嵌入一些WCF服務並從Silverlight代碼中調用這些服務。

有沒有人曾經那樣做過?

我不是在主機應用程序託管一個小型的Web服務器太熱衷......幸運的Silverlight 4的WCF支持TCP綁定所以我想標題沿着這條道路的?

+0

我很好奇,爲什麼要將Silverlight應用程序以這種方式集成到WPF應用程序中?修改現有的Silverlight代碼需要付出多少努力才能編譯爲WPF? – AnthonyWJones

+0

這將是另一種選擇,但正如我們所知,Silverlight和WPF之間存在一些不一致之處,還有一些Silverlight中存在但不存在於WPF中的東西。如果建議的解決方案不起作用,我可能最終會這樣做。 – Clement

回答

0

雖然我的天堂我自己做的沒有理由,只要你堅持Silverlight允許的端口範圍爲你的服務的TCP端點,它就不應該工作。

我後來實現的是WPF應用程序和用於將事件從WPF應用程序推送到Silverlight應用程序的Silverlight應用程序之間基於Socket的通信通道。這工作得很好。國際海事組織(IMO)很遺憾Silverlight的LocalMessageSender/Receiver只能用於Silverlight應用程序(並且它僅限於64kb的有效載荷 - 但這是一個不同的故事)。