WCF Address配置文件正確使用方法解讀
作為一個經驗豐富的開發人員,對于WCF的了解程度應該是比較深入的。那么對于初學者來說,怎樣才能正確的學習這一工具的應用呢?在這里,我們首先來了解一下WCF Address配置文件的相關概念。
而WCF Address配置文件正是通過一個Uri來唯一標示一個WCF的終節點(EndPoint)的,它標示了消息發送的目的地。在WCF數據通訊中,它解決了服務在哪里的問題。如何在配置文件中指定WCF Address在配置文件中,有兩種方式可以指定WCF Address,一種是絕對地址方式,另外是相對地址方式,分別如下:
絕對地址
- < host>
- < baseAddresses>
- < addbaseAddressaddbaseAddressaddbaseAddressaddbaseAddress=
"http://localhost:8731/"/>- < /baseAddresses>
- < /host>
- < endpointaddressendpointaddressendpointaddressendpointaddress=
"http://localhost:8731/Service"binding="basicHttpBinding"contract=
"Wcf_Address_Config.IService1">< /endpoint>
相對地址
- < host>
- < baseAddresses>
- < addbaseAddressaddbaseAddressaddbaseAddressaddbaseAddress=
"http://localhost:8731/"/>- < /baseAddresses>
- < /host>
- < endpointaddressendpointaddressendpointaddressendpointaddress=
"Service1"binding="basicHttpBinding"contract=
"Wcf_Address_Config.IService1">< /endpoint>
在網上有人說絕對地址是通過將httpGetEnabled設置為true,并且設置httpGetUrl為絕對地址是在設置endPoint的說法有些不準確,因為在WCF Address配置文件中有兩種地址,一種是訪問endPoint時候用到地址,另外一種是服務描述的地址,服務描述在wcf中被稱作serviceMetadata,通過它能夠產生代理類,比如,我們做如下的設置:
- < serviceMetadatahttpGetEnabledserviceMetadatahttpGetEnabled
serviceMetadatahttpGetEnabledserviceMetadatahttpGetEnabled=
"True"httpGetUrl="http://localhost:8731/Service"/>
在WCF Address配置文件中,這點一定要注意,不要受有些說法的誤導。
【編輯推薦】