欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

元數據終結點

系統 1716 0

綁定

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

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

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

  • 基本綁定

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

  • TCP綁定

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

  • IPC綁定

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

  • Web服務綁定

對應于WSHttpBinding類。

  • MSMQ綁定

對應于NetMsmqBinding類。

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

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

           (3)編寫自定義綁定;

終結點(Endpoints)

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

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

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

Address

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

?

元數據交換終結點

默認情況下,服務不會發布其元數據,那么如何獲得元數據?

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

  • 基于HTTP-GET協議

不發布元數據,我們當然就用不了服務,使用HTTP-GET協議,那么基地址中必須有一個http協議的,假如有這么一種情況,需要用HTTP-GET協議發布服務的元數據,但是通信卻使用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
      
      
        >
      
    
  • ?元數據交換終結點

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

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

      
        <?
      
      
        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
      
      
        >
      
    

?

元數據終結點


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 精品亚洲一区二区三区 | 中文精品在线 | 国产精品第一页在线 | 精品欧美高清一区二区免费 | 91短视频版在线观看www免费 | 亚洲精品久久国产高清 | 欧美日韩亚洲综合另类ac | 天天操网| 99久久免费视频在线观看 | 国产伦理久久精品久久久久 | 91av一区 | 成人亚洲 | 毛片国产 | 亚洲午夜精品一级在线 | 亚洲欧美一区二区三区久本道 | 艹逼免费视频 | 天天躁日日躁aaaa视频 | 污污网站国产精品白丝袜 | 免费看一级视频 | 久久99精品久久久久久噜噜 | 激情久久av一区av二区av三区 | 91看片免费在线观看 | 日韩欧美亚洲国产 | 在线视频国产一区 | 狠狠色丁香婷婷综合久久来 | 午夜在线 | 成人影院wwwwwwwwwww | 91九色视频在线播放 | 国产精品99久久 | 在线成人看片 | 国产精品欧美一区二区在线看 | 亚洲狠狠婷婷综合久久久久图片 | 九九视频在线 | 久久精品国产免费看久久精品 | 国产成人自拍一区 | 色综合成人网 | 久久一区二区精品综合 | 91精品国产777在线观看 | 国产精品v在线播放观看 | 久久精品成人免费国产片桃视频 | 澳门av |