日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
WCFAddress正確含義解析

WCF是一個功能比較強大的開發(fā)插件,在這篇文章中,我們將會為大家詳細(xì)介紹一下其中一個比較重要的應(yīng)用知識,WCF Address。那么接下來,就讓么我們一起來揭開WCF Address的面紗。#t#

創(chuàng)新互聯(lián)主要從事做網(wǎng)站、網(wǎng)站設(shè)計、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)寶坻,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18982081108

WCF Address是什么?

一個要和服務(wù)端通訊的客戶端要做的第一件事情,就是搞清數(shù)據(jù)要發(fā)給誰?目的地在哪?而Address正是通過一個Uri來唯一標(biāo)示一個WCF的終節(jié)點(EndPoint)的,它標(biāo)示了消息發(fā)送的目的地。在WCF 數(shù)據(jù)通訊中,它解決了服務(wù)在哪里的問題。

WCF Address的組成?

Address在WCF中的用System.ServiceModel.EndpointAddress對象來表示的

如何在配置文件中指定Address?

在配置文件中,有兩種方式可以指定Address,一種是絕對地址方式,另外是相對地址方式,分別如下:

絕對地址

 
 
 
  1. < host>
  2. < baseAddresses>
  3. < add baseAddress = "http://localhost:8731/" />
  4. < /baseAddresses>
  5. < /host>
  6. < endpoint address ="http://localhost:8731/Service" binding=
    "basicHttpBinding" contract="Wcf_Address_Config.IService1">
  7. < /endpoint>

相對地址

 
 
 
  1. < host>
  2. < baseAddresses>
  3. < add baseAddress = "http://localhost:8731/" />
  4. < /baseAddresses>
  5. < /host>
 
 
 
  1. < endpoint address ="Service1" binding="basicHttpBinding" 
    contract="Wcf_Address_Config.IService1">< /endpoint>

在網(wǎng)上有人說絕對地址是通過將httpGetEnabled設(shè)置為true,并且設(shè)置httpGetUrl為絕對地址是在設(shè)置endPoint的說法有些不準(zhǔn)確,因為在WCF中有兩種地址,一種是訪問endPoint時候用到地址,另外一種是服務(wù)描述的地址,服務(wù)描述在wcf中被稱作serviceMetadata,通過它能夠產(chǎn)生代理類,比如,我們做如下的設(shè)置:

 
 
 
  1. < serviceMetadata httpGetEnabled="True" 
    httpGetUrl="http://localhost:8731/Service"/>

只代表在http://localhost:8731/Service/?wsdl上能找到服務(wù)描述,可以通過http://localhost:8731/Service/?wsdl生成代理類,而不是將endPoint的地址設(shè)置為了http://localhost:8731/Service,這點一定要注意,不要受有些說法的誤導(dǎo)。

如何通過編程方式設(shè)置WCF Address?

除了能在配置中設(shè)置Address外 ,還可以通過編程的方式來設(shè)置Address,具體方法請參參見下面的代碼示例:

 
 
 
  1. static void Main(string[] args)
  2. {
  3. EndpointAddress address = new EndpointAddress
    ("http://127.0.0.1:2136/Service1"); 
  4. Binding binding = new BasicHttpBinding();
  5. wcf.IService1 service = new wcf.Service1Client(binding, address);
  6. Console.WriteLine(service.GetData(2));
  7. Console.Read();
  8. }

上面的代碼就是將endPoint的地址設(shè)置為了http://127.0.0.1:2136/Service1

WCF Address有什么特殊應(yīng)用?

在wcf中,能夠?qū)⒎?wù)同時發(fā)布到幾個地址上面,只要這些地址采用的都是一種訪問方式。這種一份程序,多個發(fā)布地址的做法,在以往的技術(shù)中是沒有的。


本文標(biāo)題:WCFAddress正確含義解析
鏈接地址:http://m.5511xx.com/article/cdscjip.html