2017-08-09 26 views

回答

0

和大多數事情一樣,這是一個我不理解我所問的問題的例子。

事實證明,您可以在web.config的端點部分指定一個「地址」,它允許您更改綁定(包括協議),綁定配置和合同。這意味着你可以在你的web.config做到這一點:

<services> 
    <service name="someName"> 
    <endpoint address="http" binding="httpBinding" contract="com.IService"/> 
    <endpoint address="tcp" binding="netTcpBinding" contract="com.IService"/> 
    </service> 
</services> 

這樣做,讓我相同的服務指定不同的協議(假設我已經在web.config配置相應的綁定使用這些協議)。

我是否使用WCF Test Client,在Visual Studio中添加服務引用,還是指定地址,都引起了更多混淆。在Visual Studio或WCF Test Client中添加引用時,使用「地址」部分導致它無法工作,因爲WCF使用它來公開具有元數據交換地址(http://someserver.com/someservice.svc/mex)的元數據。但是,爲服務指定地址時,我必須包含「地址」部分以指定我希望使用的端點。