全方位解讀WCF Address配置文件
WCF的學(xué)習(xí)需要我們在實踐中去不斷的積累使用經(jīng)驗,只有這樣才能真正熟練的運用這樣的一款功能強大的開發(fā)框架。在這里就先了解一下WCF Address配置文件的相關(guān)知識概念。#t#
而WCF Address配置文件正是通過一個Uri來唯一標示一個WCF的終節(jié)點(EndPoint)的,它標示了消息發(fā)送的目的地。在WCF數(shù)據(jù)通訊中,它解決了服務(wù)在哪里的問題。如何在配置文件中指定WCF Address在配置文件中,有兩種方式可以指定WCF Address,一種是絕對地址方式,另外是相對地址方式,分別如下:
絕對地址
- < host>
- < baseAddresses>
- < addbaseAddressaddbaseAddress
addbaseAddressaddbaseAddress=
"http://localhost:8731/"/> - < /baseAddresses>
- < /host>
- < endpointaddressendpointaddress
endpointaddressendpointaddress=
"http://localhost:8731/Service"
binding="basicHttpBinding"contract=
"Wcf_Address_Config.IService1"> - < /endpoint>
相對地址
- < host>
- < baseAddresses>
- < addbaseAddressaddbaseAddress
addbaseAddressaddbaseAddress=
"http://localhost:8731/"/>- < /baseAddresses>
- < /host>
- < endpointaddressendpointaddress
endpointaddressendpointaddress=
"Service1"binding="basicHttpBinding"
contract="Wcf_Address_Config.IService1">- < /endpoint>
在網(wǎng)上有人說絕對地址是通過將httpGetEnabled設(shè)置為true,并且設(shè)置httpGetUrl為絕對地址是在設(shè)置endPoint的說法有些不準確,因為在WCF中有兩種地址,一種是訪問endPoint時候用到地址,另外一種是服務(wù)描述的地址,服務(wù)描述在wcf中被稱作serviceMetadata,通過它能夠產(chǎn)生代理類,比如,我們做如下的設(shè)置:
< serviceMetadatahttpGetEnabledserviceMetadatahttpGetEnabled="True"httpGetUrl="http://localhost:8731/Service"/>
http://localhost:8731/Service,WCF Address配置文件在使用中這點一定要注意,不要受有些說法的誤導(dǎo)。