如何在一個地方託管來自不同wcf庫的服務?許多WCF庫的WCF One ServiceHost
認爲我有2個WCF liberary dll文件,看起來像這樣
.DLLA
Public Class clientA : InterfaceA
.DLLB
Public class clientB : InterfaceB
兩個接口都有服務合同屬性和自身經營合同(S )。 兩個DLL文件我放在共享文件夾,這樣我可以動態加載他們,收留他們的服務
現在我想創建一個「AutoHosting」控制檯應用程序作爲中間層,但只使用一個單獨的ServiceHost主辦這兩個服務並使用相同的UriListen進行分配。
PS:我也希望解決方案儘可能靈活。例如,在未來我添加DLLC我希望ServiceHost能夠自動提取DLLC服務,而無需修改「AutoHosting」部分
請讓我知道最好的方法,如果你有。
要做到這一點,兩個人中的一個需要做一些「額外的工作」。無論是DLL的創建者都需要編寫它,以便服務可以在app.config中沒有配置設置的情況下運行(無論是硬編碼值還是備用配置文件位置),或者DLL的用戶需要修改其配置文件DLL發佈的端點的設置。你想要做什麼,每個解決方案稍有不同。 –
也有可能DLLA和DLLB都可以引用一個單獨的項目,它可以定義一個主要的「插件接口」,這個DLL需要在一個可以返回信息的類中實現,比如他們發佈的類和接口的名字該DLL。 –
斯科特,謝謝你的迴應。但是沒關係,因爲有50多個DLL需要添加,所以如果額外的工作是必要的,我們會這樣做。我從網上找到的唯一解決方案是使用部分類,但我不想使用它,因爲每次我添加一些服務或接口時,我需要重新編譯我的dll – John