2017-06-13 98 views
1

與doc https://docs.microsoft.com/en-us/dotnet/framework/wcf/how-to-create-a-wcf-client中的最後一條命令不同,程序提示我使用'svcutil.exe/language:cs /out:generatedProxy.cs /config:app.config http://localhost:8000/ServiceModelSamples/service?wsdl'生成客戶端代理代碼和配置文件,當我完全按照教程。如何使用正確的命令在WCF中創建客戶端代理?

所以我有兩個問題。

  1. 基地址是否必須以'http://'開頭?就像https://docs.microsoft.com/en-us/dotnet/framework/wcf/how-to-host-and-run-a-basic-wcf-service中顯示的那樣。如果我不使用http綁定,我可以使用其他類型的基地址嗎?

  2. 如果#1的答案是肯定的,命令是什麼?如果你能給我一個例子,那會更好。

+0

加入我的答案,如果您有任何問題,生病幫助:) –

回答

1

是基地址必須是因爲它需要一個Web服務器(如IIS)上託管與HTTPHTTPS開始。如果你已經這樣做了,你需要通過以下方式爲你的項目創建一個服務引用:右鍵點擊「連接服務」 - >添加「服務引用」,然後輸入你的地址選擇你的.svc文件 - >選擇一個名稱(例如ServiceRef ),然後單擊確定..

添加您的代理從服務執行方法,如:

ServiceRef.ServiceRefClient proxy = new ServiceRef.ServiceRefClient(); 
bool testresult = proxy.TestConnection(); 
+0

感謝您的快速答覆。我還有一個問題。如果我在端點中使用絕對路徑,基地址僅用於生成代碼和配置文件? – kunyang

+0

基地址指向您的WCF,其中包含Web服務器的所有方法和配置。這些將通過服務參考添加到您的項目中。 –

+0

因此,如果您更改和/或向WCF添加方法,則需要更新項目中的服務參考(右鍵單擊ServiceRef - >更新服務參考) –