2010-09-30 55 views
8

我需要開發一個WCF服務器(基本上是一個最終將在IIS中運行的Web服務)和一個訪問該服務的客戶端應用程序。我在同一個Visual Studio(2008)解決方案中同時擁有客戶端和服務器項目。Visual Studio:同時開發WCF客戶端和服務器

在開發過程中,建議將客戶端連接到服務器的方式是什麼?

兩個可能的解決方案立刻浮現在我的腦海裏:一是每次更改後部署服務器項目的一些IIS,另一種是啓動Visual Studio的兩個實例,並使用了一個固定的TCP端口(視覺-Studio-integrated)服務器項目的Web服務器。

因爲這些選項都顯得特別優雅我,我在想,如果我有可能忽略了明顯的「正確的方式」來做到這一點...

回答

17

我的做法是這樣的:
- 右鍵單擊​​您的解決方案文件,然後選擇設置啓動項目...
- 選擇多啓動項目並選擇適合您的客戶端和服務器項目開始,讓其他的人設置爲

現在這兩個項目都將在啓動時運行,並且您將能夠對它們進行調試。

1

,因爲我已經使用了很多的WCF服務我項目,我不想運行太多的VS實例進行調試,這是我所做的: -

如果你有一個本地IIS可以,你可以考慮這個。

  1. 對於每個WCF服務,我創建了一個Web站點項目。

  2. 本網站項目也作爲本地IIS中的Web文件夾共享。例如http:\ mylocalmachine \ WCFService1 \ servicefile.svc

  3. 在我的WCF客戶端web.config中,該服務的URL如上指定。 如(HTTP:\ mylocalmachine \ WCFService1 \ servicefile.svc)

  4. 因爲我不想每次我改變服務時手動部署,在後生成的每個WCF服務項目中,我有一個postbuild任務副本bin目錄的內容到相應的WCF服務的網站的bin目錄(一次性設置後期建立)

  5. 我的文件夾結構是這樣的,每個服務項目都有一個服務主機(網站)項目在同一層次,所以後期建設也非常簡單。當我運行我的WCF客戶端(F5),服務項目被編譯,他們的內容被複制到網站斌(即自動部署到IIS),我可以調試任何服務,只需進入代碼作爲我的服務是在同一個解決方案,我的WCF客戶端

另外一個這種方法的好處是,我調試(至少應的服務)也使用IIS類似於我的產品設置將是什麼樣子。

編輯:我不把服務主機項目(網站)在我的解決方案,否則運行我的WCF客戶端時,VS開闢了他們每個人的卡西尼實例,這是刺激性的,我反正不需要或使用