2011-03-16 36 views
2

基本上,我有一個需要使用WCF服務(Calculator.svc)的應用程序。在調試過程中,該服務託管在本地計算機上,但在發佈時,服務託管在IIS服務器上。WCF:客戶端服務引用的動態地址

調試地址:http://localhost/MyProj/Services/Calculator.svc
發行地址:http://www.mycompany.com/Services/Calculator.svc

如果我不添加服務引用,並用手建設服務,這是不是一個問題了。但是,如果我將服務引用添加到本地主機地址,那麼在釋放模式期間如何動態更改它?


注意:我知道我可以創建一個新的CalculatorClient,並在我自己的Binding和EndpointAddress中提供,但這是否正確嗎?

CalculatorClient client; 

#if NOT DEBUG 
Binding binding = new BasicHttpBinding("MyConfig"); 
EndpointAddress remoteAddress = new EndpointAddress("http://www.mycompany.com/Services/Calculator.svc"); 

client = new CalculatorClient(binding, remoteAddress); 

#else 
client = new CalculatorClient(); 
#endif 

有沒有更簡單的方法或更正確的方法來做到這一點?

回答

1

基本上,你有兩個選擇:

1)改變你構建/部署腳本app.config值。

2)兩者使用相同的地址。在你的開發機上,可以通過在你的HOSTS文件中指定www.mycompany.com到本地主機來添加一個條目。完成後,您在iis中爲主機標頭www.mycompany.com設置一個網站,並從那裏爲該項目提供服務。

相關問題