<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      WCF從理論到實踐(4):路在何方


      本文的出發點

      通過閱讀本文,您能了解以下知識:

      1. Address是什么?
      2. Address的組成?
      3. 如何在配置文件中指定Address?
      4. 如何通過編程方式設置Address?
      5. Address有什么特殊應用?

       

      本文適合的讀者

      適合WCF初學者,可以沒有任何SOA和其他分布式開發經驗

       

      Address是什么?

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

       

      Address的組成?

      Address在WCF中的用System.ServiceModel.EndpointAddress對象來表示的,它的結構如下:

       




      組成部分

      作用

      Uri

      指示EndPoint的地址,是必須的

      Identity

      能保證地址的唯一性,當Uri一致的時候,可以用Identity來區分EndPoint,可有可無

      Headers

      為地址提供了一些附加信息,用于Soap Message Filter,最后會添加到Soap消息的Header中

      此外,Address還包括IsAnonymous屬性,用于指示終節點是否能匿名訪問。

       

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

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

      絕對地址

       <host>
                
      <baseAddresses>
                  
      <add baseAddress = "http://localhost:8731/" />
                
      </baseAddresses>
         
      </host>
         
      <endpoint address ="http://localhost:8731/Service" binding="basicHttpBinding" contract="Wcf_Address_Config.IService1"> </endpoint>


      相對地址

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

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

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

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

       

      如何通過編程方式設置Address?

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

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

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

       

      Address有什么特殊應用?

      在wcf中,能夠將服務同時發布到幾個地址上面,只要這些地址采用的都是一種訪問方式。這種一份程序,多個發布地址的做法,在以往的技術中是沒有的。

       

      示例項目:

      通過配置文件設置Address:/Files/jillzhang/Wcf_Address_Config.rar
      通過代碼方式設置Address:/Files/jillzhang/Wcf_Address.rar




      本文參考資料

      http://www.rzrgm.cn/artech/archive/2007/02/28/659331.html

      http://www.rzrgm.cn/anders-x-hu/archive/2007/05/29/763971.html

      http://www.rzrgm.cn/huangjizhou/archive/2007/12/03/981592.html

      http://www.rzrgm.cn/wayfarer/archive/2007/09/26/906075.html

      posted @ 2008-01-30 21:00  Robin Zhang  閱讀(16642)  評論(20)    收藏  舉報
      主站蜘蛛池模板: 中文字幕日韩国产精品| 国产95在线 | 欧美| 色综合久久精品亚洲国产| 老鸭窝在钱视频| 亚洲精品日本久久久中文字幕| 国模肉肉视频一区二区三区| 蜜臀久久99精品久久久久久| 99国产午夜福利在线观看| 少妇粗大进出白浆嘿嘿视频| 丝袜高潮流白浆潮喷在线播放| 中文字幕在线视频不卡一区二区| 人妻丝袜无码专区视频网站| 北岛玲中文字幕人妻系列| 大香蕉av一区二区三区| 久久久天堂国产精品女人| 91亚洲国产三上悠亚在线播放| 国产精品99一区二区三区| 亚洲嫩模一区二区三区| 亚洲一区二区精品另类| 日本免费视频| 日韩精品一区二区三区激情视频| 蜜桃网址| 乱中年女人伦av三区| 忘忧草在线社区www中国中文| 平江县| 日韩欧激情一区二区三区| 久久婷婷五月综合色99啪ak| 一 级做人爱全视频在线看| 国产成人亚洲日韩欧美| 安顺市| 人妻出轨av中文字幕| 干老熟女干老穴干老女人| 中文字幕亚洲人妻一区| 99RE6在线观看国产精品| 中文字幕av日韩有码| 国产一区二区三区综合视频 | 久久久久无码国产精品一区| 成人午夜福利视频一区二区| 波多野结衣一区二区免费视频| 极品少妇的粉嫩小泬看片| 国产美女被遭强高潮免费一视频 |