偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

WCF Address正確含義解析

開發(fā) 開發(fā)工具
什么是WCF Address,它的組成都有哪些,我們又該如何在配置文件中去指定WCF Address,如何通過(guò)編程方式來(lái)進(jìn)行設(shè)置呢?這些問(wèn)題都將會(huì)在文中一一介紹。

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

WCF Address是什么?

一個(gè)要和服務(wù)端通訊的客戶端要做的第一件事情,就是搞清數(shù)據(jù)要發(fā)給誰(shuí)?目的地在哪?而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的組成?

Address在WCF中的用System.ServiceModel.EndpointAddress對(duì)象來(lái)表示的

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

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

絕對(duì)地址

 

  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> 

 

 

相對(duì)地址

  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)上有人說(shuō)絕對(duì)地址是通過(guò)將httpGetEnabled設(shè)置為true,并且設(shè)置httpGetUrl為絕對(duì)地址是在設(shè)置endPoint的說(shuō)法有些不準(zhǔn)確,因?yàn)樵赪CF中有兩種地址,一種是訪問(wèn)endPoint時(shí)候用到地址,另外一種是服務(wù)描述的地址,服務(wù)描述在wcf中被稱作serviceMetadata,通過(guò)它能夠產(chǎn)生代理類,比如,我們做如下的設(shè)置:

 

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

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

 

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

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

 

  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();  

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

 

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

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

責(zé)任編輯:曹凱 來(lái)源: 博客園
相關(guān)推薦

2010-03-01 17:39:07

WCF Address

2010-02-26 10:14:25

WCF全局錯(cuò)誤捕獲

2009-11-05 10:37:58

WCF Address

2009-12-22 17:30:47

WCF Address

2010-02-26 08:59:10

WCF服務(wù)宿主程序

2009-11-05 10:30:41

WCF Address

2009-12-21 13:06:05

WCF Address

2010-02-25 09:58:05

WCF配置指定Addr

2010-02-22 14:28:35

WCF實(shí)現(xiàn)loadin

2010-02-26 14:05:57

WCF通信方式

2009-12-08 14:10:55

Silverlight

2009-12-21 18:32:22

關(guān)閉WCF鏈接

2010-02-22 10:42:12

WCF Stream

2010-02-25 10:10:29

WCF使用Header

2010-02-26 09:33:18

WCF創(chuàng)建WebSer

2010-02-25 16:07:28

WCF REST

2010-03-01 16:59:31

WCF異常調(diào)試

2010-02-22 14:09:08

WCF Dispose

2010-03-02 16:05:48

WCF端點(diǎn)配置

2010-02-26 17:44:51

WCF安全參數(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)