亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

元數(shù)據(jù)終結點

系統(tǒng) 1640 0

綁定

服務之間的通信方式多種多樣,傳輸協(xié)議多種多樣,消息編碼格式多種多樣,消息安全保障策略多種多樣...等等這些如果組合起來,其數(shù)量非常之多,并且組合這些選項,有的彼此約束,有的互斥。對大多數(shù)應用程序而言,管理這么復雜的組合并無商業(yè)價值。然而,一旦做出錯誤的組合,就會影響系統(tǒng)的性能,質(zhì)量,造成嚴重的后果。

為了簡化這些選項,方便管理,WCF引入了綁定(binding),將這些通信特征組合在一起。

WCF定義了五種常用的綁定。

  • 基本綁定

對應于BasicHttpBinding類。基本綁定使得服務看起來像是一個傳統(tǒng)的Web服務,能夠基于基本的Web服務信息進行通信。

  • TCP綁定

對應于NetTcpBinding類。TCP綁定使用TCP協(xié)議實現(xiàn)在Intranet中跨機器的通信。

  • IPC綁定

對應于NetNamedPipeBinding類。它使用命名管道為同意機器通信進行傳輸。

  • Web服務綁定

對應于WSHttpBinding類。

  • MSMQ綁定

對應于NetMsmqBinding類。

有三種使用綁定的方式:(1)如果滿足需要,可以直接使用內(nèi)置的綁定類型;

           (2)重新配置綁定的屬性;

           (3)編寫自定義綁定;

終結點(Endpoints)

服務與地址,綁定,契約有關。其中,地址定義了服務的位置,綁定定義了服務通信的方式,契約則定義了服務的內(nèi)容。所以,可以這樣理解,終結點就是地址,綁定,契約的混合體(ABC)。?

每一個終結點都包含了三個元素,而宿主則負責公開終結點。從邏輯上講,終結點相當于服務的接口。

每個服務至少公開一個業(yè)務終結點,每個終結點有且只能有一個服務契約。

Address

地址的三個典型功能(服務標識/定位,輔助尋址和服務身份標識)分別對應Uri,Headers和Identity三個只讀屬性。

?

元數(shù)據(jù)交換終結點

默認情況下,服務不會發(fā)布其元數(shù)據(jù),那么如何獲得元數(shù)據(jù)?

有兩種方式可以發(fā)布服務的元數(shù)據(jù):一是基于HTTP-GET協(xié)議提供元數(shù)據(jù),它是一種絕大多數(shù)平臺都能支持的簡單text-based協(xié)議;另一種是元數(shù)據(jù)交換終結點。

  • 基于HTTP-GET協(xié)議

不發(fā)布元數(shù)據(jù),我們當然就用不了服務,使用HTTP-GET協(xié)議,那么基地址中必須有一個http協(xié)議的,假如有這么一種情況,需要用HTTP-GET協(xié)議發(fā)布服務的元數(shù)據(jù),但是通信卻使用TCP,那么至少有兩個基地址

以下App.config配置如下

      
        <?
      
      
        xml version="1.0" encoding="utf-8" 
      
      
        ?>
      
      
        <
      
      
        configuration
      
      
        >
      
      
        <
      
      
        system.serviceModel
      
      
        >
      
      
        <
      
      
        services
      
      
        >
      
      
        <
      
      
        service 
      
      
        name
      
      
        ="WCFServer.MyService"
      
      
         behaviorConfiguration
      
      
        ="MEX"
      
      
        >
      
      
        <
      
      
        host
      
      
        >
      
      
        <
      
      
        baseAddresses
      
      
        >
      
      
        <
      
      
        add 
      
      
        baseAddress
      
      
        ="net.tcp://localhost:5566/"
      
      
        />
      
      
        <
      
      
        add 
      
      
        baseAddress
      
      
        ="http://localhost:6655/"
      
      
        />
      
      
        </
      
      
        baseAddresses
      
      
        >
      
      
        </
      
      
        host
      
      
        >
      
      
        <
      
      
        endpoint 
      
      
        address
      
      
        ="HelloWorld"
      
      
        

                  binding
      
      
        ="netTcpBinding"
      
      
        

                  contract
      
      
        ="WCFServer.IMyService"
      
      
        />
      
      
        <!--
      
      
        <endpoint address="MEX"

                  binding="mexTcpBinding"

                  contract="IMetadataExchange"/>
      
      
        -->
      
      
        </
      
      
        service
      
      
        >
      
      
        </
      
      
        services
      
      
        >
      
      
        <
      
      
        behaviors
      
      
        >
      
      
        <
      
      
        serviceBehaviors
      
      
        >
      
      
        <
      
      
        behavior 
      
      
        name
      
      
        ="MEX"
      
      
        >
      
      
        <
      
      
        serviceMetadata 
      
      
        httpGetEnabled
      
      
        ="true"
      
      
        />
      
      
        </
      
      
        behavior
      
      
        >
      
      
        </
      
      
        serviceBehaviors
      
      
        >
      
      
        </
      
      
        behaviors
      
      
        >
      
      
        </
      
      
        system.serviceModel
      
      
        >
      
      
        </
      
      
        configuration
      
      
        >
      
    
  • ?元數(shù)據(jù)交換終結點

基于HTTP-GET發(fā)布元數(shù)據(jù)僅僅是WCF的一個特性,它并不保證其他交互平臺也會支持。元數(shù)據(jù)發(fā)布具有標準形式,即元數(shù)據(jù)交換終結點,稱為MEX終結點。

既然是終結點,那么就有address,binding,contract,只不過contract是IMetadataExchange。下面配置為使用元數(shù)據(jù)交換終結點的配置

      
        <?
      
      
        xml version="1.0" encoding="utf-8" 
      
      
        ?>
      
      
        <
      
      
        configuration
      
      
        >
      
      
        <
      
      
        system.serviceModel
      
      
        >
      
      
        <
      
      
        services
      
      
        >
      
      
        <
      
      
        service 
      
      
        name
      
      
        ="WCFServer.MyService"
      
      
         behaviorConfiguration
      
      
        ="MEX"
      
      
        >
      
      
        <
      
      
        host
      
      
        >
      
      
        <
      
      
        baseAddresses
      
      
        >
      
      
        <
      
      
        add 
      
      
        baseAddress
      
      
        ="net.tcp://localhost:5566/"
      
      
        />
      
      
        </
      
      
        baseAddresses
      
      
        >
      
      
        </
      
      
        host
      
      
        >
      
      
        <
      
      
        endpoint 
      
      
        address
      
      
        ="HelloWorld"
      
      
        

                  binding
      
      
        ="netTcpBinding"
      
      
        

                  contract
      
      
        ="WCFServer.IMyService"
      
      
        />
      
      
        <
      
      
        endpoint 
      
      
        address
      
      
        ="MEX"
      
      
        

                  binding
      
      
        ="mexTcpBinding"
      
      
        

                  contract
      
      
        ="IMetadataExchange"
      
      
        />
      
      
        </
      
      
        service
      
      
        >
      
      
        </
      
      
        services
      
      
        >
      
      
        <
      
      
        behaviors
      
      
        >
      
      
        <
      
      
        serviceBehaviors
      
      
        >
      
      
        <
      
      
        behavior 
      
      
        name
      
      
        ="MEX"
      
      
        >
      
      
        <
      
      
        serviceMetadata
      
      
        />
      
      
        </
      
      
        behavior
      
      
        >
      
      
        </
      
      
        serviceBehaviors
      
      
        >
      
      
        </
      
      
        behaviors
      
      
        >
      
      
        </
      
      
        system.serviceModel
      
      
        >
      
      
        </
      
      
        configuration
      
      
        >
        


  • ?標準終結點

WCF提供了幾個預定義的服務終結點,即標準終結點,配置如下

      
        <?
      
      
        xml version="1.0" encoding="utf-8" 
      
      
        ?>
      
      
        <
      
      
        configuration
      
      
        >
      
      
        <
      
      
        system.serviceModel
      
      
        >
      
      
        <
      
      
        services
      
      
        >
      
      
        <
      
      
        service 
      
      
        name
      
      
        ="WCFServer.MyService"
      
      
         behaviorConfiguration
      
      
        ="MEX"
      
      
        >
      
      
        <
      
      
        host
      
      
        >
      
      
        <
      
      
        baseAddresses
      
      
        >
      
      
        <
      
      
        add 
      
      
        baseAddress
      
      
        ="net.tcp://localhost:5566/"
      
      
        />
      
      
        </
      
      
        baseAddresses
      
      
        >
      
      
        </
      
      
        host
      
      
        >
      
      
        <
      
      
        endpoint 
      
      
        address
      
      
        ="HelloWorld"
      
      
        

                  binding
      
      
        ="netTcpBinding"
      
      
        

                  contract
      
      
        ="WCFServer.IMyService"
      
      
        />
      
      
        <
      
      
        endpoint 
      
      
        address
      
      
        ="MEX"
      
      
        

                  binding
      
      
        ="mexTcpBinding"
      
      
        

                  kind
      
      
        ="mexEndpoint"
      
      
        />
      
      
        </
      
      
        service
      
      
        >
      
      
        </
      
      
        services
      
      
        >
      
      
        <
      
      
        behaviors
      
      
        >
      
      
        <
      
      
        serviceBehaviors
      
      
        >
      
      
        <
      
      
        behavior 
      
      
        name
      
      
        ="MEX"
      
      
        >
      
      
        <
      
      
        serviceMetadata
      
      
        />
      
      
        </
      
      
        behavior
      
      
        >
      
      
        </
      
      
        serviceBehaviors
      
      
        >
      
      
        </
      
      
        behaviors
      
      
        >
      
      
        </
      
      
        system.serviceModel
      
      
        >
      
      
        </
      
      
        configuration
      
      
        >
      
    

?

元數(shù)據(jù)終結點


更多文章、技術交流、商務合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产欧美一区二区 | 久久午夜国产片 | 日本三级11k影院在线 | 五月天婷婷久久 | 麻豆va一区二区三区久久浪 | 新26uuu在线亚洲欧美 | 国产精品久久自在自线观看 | 五月伊人网 | 亚洲国产精品a一区二区三区 | 日本欧美在线视频 | 夜夜撸天天操 | 欧美69xx | 久久午夜剧场 | 亚洲精品乱码中文字幕无线 | a视频网站| 久久青草91线频免费观看 | 欧美vs日韩vs国产在线观看 | 深夜成人在线 | 国产精品视频一区二区猎奇 | 亚洲精品二三区伊人久久 | 四虎在线免费播放 | 在线免费一级片 | 中文字幕最新中文字幕中文字幕 | 国产a免费视频 | 人人爽天天碰天天躁夜夜躁 | 97免费视频在线观看 | 国产成人一区二区三区免费观看 | 亚洲精品亚洲人成在线播放 | 国产精品免费观看视频 | 国产探花在线观看 | 四虎国产精品免费久久麻豆 | 特黄特黄aaaa级毛片免费看 | 日韩一级黄色大片 | 99ri精品视频在线观看播放 | 日本不卡在线 | 天天射天天爱天天干 | 狠狠色丁香久久婷婷综合五月 | 免费观看美女光子让男人玩 | 我爱avav| 国产产一区二区三区久久毛片国语 | 俄罗斯一级在线播放 |