2011-08-30 150 views
2

我被要求將我的WCF服務分成若干不同的.svc文件,每個邏輯操作組一個。現在的問題是,我必須承載他們在完全相同的地址多個WCF服務

http://somehost/ProjectX/ 

,我真的不知道我是否可以把它們放在因爲完全相同的路線,雖然.SVC文件有不同的名稱,它們的配置文件全部共享名稱Web.config。我怎樣才能解決這個問題?我應該用

http://somehost/ProjectX/Service1/Service1.svc 
http://somehost/ProjectX/Service2/Service2.svc 
... 

+0

如果它們可以訪問,共享一個配置它們有什麼問題? –

+1

因爲我不認爲我應該按邏輯分開服務,然後再將它們合併到同一個配置文件中。 – User

+0

它是如何「合併」?它們每個都加載自己的副本 - 除非每個服務都需要_different_配置元素(其中一個不應該知道其他配置元素),則重複配置似乎是多餘的,如果設置發生更改,您需要將其全部更改。 –

回答

1

默認情況下,服務能夠共享基地址,他們只需要擁有不同的合同(URL的結束位)。我在這個主題上寫了一篇文章,但從那時起我停止爲託管支付,並且從來沒有時間遷移這篇文章。代碼在github上仍然可用,並且有一點持久性,應該很容易理解如何去做。

該項目顯示瞭如何在一個Windows服務中託管許多WCF服務。它允許你這樣做:

http://localhost:8083/WCFServices/IService1 
http://localhost:8083/WCFServices/IService2 
http://localhost:8083/WCFServices/IService3 
+0

對不起,提出一箇舊帖子,但你的鏈接已經死了。可能希望將信息放在這裏或更新它。謝謝! –

+0

嘿@JamesRalston。 Tnx提出這個問題。我停止爲我的託管支付費用,因爲我的提供商不斷通過電子郵件向我詢問賬單密碼「以確認我的身份」。我仍然有github上的代碼,但沒有太多的文檔:(希望有人可以環顧項目來弄清楚如何做到這一點。 – oleksii