想象一下開發具有兩個項目(WCF服務/和Web應用程序作爲WCF客戶端)的WCF解決方案。只要我在Visual Studio中開發這兩個項目並將服務引用到客戶端(Web應用程序)作爲服務器參考,就沒有問題。 Visual Studio的自動分配WCF服務器的端口,並配置包括服務器和客戶端暴食到這樣的事情在服務器的所有需要的配置:發佈WCF服務器和客戶端及其端點
<service behaviorConfiguration="DefaultServiceBehavior"
name="MYWCFProject.MyService">
<endpoint address="" binding="wsHttpBinding" contract="MYWCFProject.IMyService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
<host>
<baseAddresses>
<add baseAddress="http://localhost:8731/MyService.svc" />
</baseAddresses>
</host>
</service>
,並在客戶端:
<client>
<endpoint address="http://localhost:8731/MyService.svc"
binding="wsHttpBinding" bindingConfiguration="WSHttpBinding_IMyService"
contract="MyWCFProject.IMyService"
name="WSHttpBinding_IMyService">
<identity>
<dns value="localhost" />
</identity>
</endpoint>
</client>
的問題是我想經常在兩臺不同的服務器上發佈這兩個項目,因爲我的生產服務器和服務URL將爲「http://mywcfdomain/MyService.svc」。每次我發佈我的服務器項目時,我都不想更改配置文件。 問題是:Visual Studio 2008中是否有自動更改URL的功能,或者我必須定義兩個不同的端點,並將其設置在我的代碼中(基於我的配置中的一個參數,例如Development/Published)。