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

元數(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條評論
主站蜘蛛池模板: 亚洲高清网站 | 日韩在线视频网站 | 亚洲欧美综合国产不卡 | 欧美国产一区二区三区 | 91亚洲国产成人精品性色 | 羞羞的视频在线免费观看 | 免费国产不卡午夜福在线观看 | 性视频一区二区三区免费 | 97影院理论片在线观看 | 亚洲成人免费在线 | 神马影院我不卡手机版 | 91精品免费久久久久久久久 | 天天看天天射 | 精品一区二区三区的国产在线观看 | 精品哟哟哟国产在线观看不卡 | 九九热精品在线 | 久久国产香蕉 | 国产精品久久久久久亚洲伦理 | 91精品国产91久久久久久青草 | 亚洲精品综合久久 | 色综合小说天天综合网 | 国产xxxx做受性欧美88 | 日韩国产成人精品视频人 | 四虎在线视频免费观看 | 国产精品亚洲第一区二区三区 | 久久国产精品亚洲综合 | 亚洲 另类色区 欧美日韩 | 涩涩在线 | 99视频在线国产 | 亚洲精品成人久久 | 九九爱国产 | 亚洲狠狠色丁香婷婷综合 | 91精品国产免费久久久久久青草 | 精品久久洲久久久久护士免费 | 全黄一级裸片视频在线观看 | 亚洲欧美国产精品 | 一级爱爱片一级毛片-一毛 一级白嫩美女毛片免费 | 欧美一区二区在线观看视频 | 俄罗斯一级在线播放 | 天天爱天天做久久天天狠狼 | 国内精品一区二区2021在线 |