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


















