2009-10-21 95 views
0

我有兩個名爲TemplateService,TemplateReportService(都定義在一個WCF服務庫中)的服務暴露給客戶端應用程序。在一個Windows服務下託管多個服務

是否有可能在一個Windows服務下託管這兩個服務?

謝謝!

回答

5

是的,這是可能的。創建兩個具有不同端點的ServiceHost,並在啓動Windows服務時打開它們。您甚至可以通過啓用端口共享來使用相同的端口(如果使用net.tcp綁定)。

+0

感謝您的回覆。 Okie ..我在託管Windows服務時添加了兩個ServiceHost和不同端點。現在在客戶端應用程序中,如何通過添加一個服務引用來調用兩個服務方法?請指導。 – iniki 2009-10-30 12:22:10

+0

通常,您會爲每個端點生成不同的客戶端代理。如果您需要爲兩者使用相同的客戶端代理,則需要執行一些手動編輯來完成此操作,或者利用ChannelFactory更明確地指出您所調用的是哪個端點。 – Kwal 2009-10-31 15:01:11

2

我個人在一個進程中託管了超過80個服務,通過掃描一個特定的目錄來查找帶有服務的程序集(反射)。這是運行在一個相當強大的機器上(8核心,16GB),有成千上萬的用戶。完成後不久,我發現這個鏈接:http://blogs.microsoft.co.il/blogs/alon/archive/2008/03/12/hosting-plug-in-wcf-services.aspx這基本上是做同樣的事情,但通過使用應用程序域更好地分離服務主機。第二次嘗試我會使用這個主機。

相關問題