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

元數據終結點

系統 1872 0

綁定

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

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

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

  • 基本綁定

對應于BasicHttpBinding類?;窘壎ㄊ沟梅湛雌饋硐袷且粋€傳統的Web服務,能夠基于基本的Web服務信息進行通信。

  • TCP綁定

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

  • IPC綁定

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

  • Web服務綁定

對應于WSHttpBinding類。

  • MSMQ綁定

對應于NetMsmqBinding類。

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

          ?。?)重新配置綁定的屬性;

          ?。?)編寫自定義綁定;

終結點(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元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦?。。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲啪视频| 97香蕉久久夜色精品国产 | 国产精品原创巨作无遮挡 | 国产欧美成人免费观看视频 | 日韩欧美亚州 | 成人淫片免费视频95视频 | 一区二区三区免费在线视频 | 毛片在线视频观看 | 国产视频福利在线 | 素人259luxu在线观看暴露 | 黄色毛片大全 | 一级毛片短视频 | 久久国产香蕉 | 国内外成人在线视频 | 久久亚洲国产精品五月天 | 伊人久久在线 | 91精品福利视频 | 国内拍拍自拍视频在线观看 | 私人影院aaaaa毛片 | 天天综合日日噜噜噜 | 日韩成人免费在线视频 | 国产精品香蕉在线观看首页 | 99久久精品免费看国产一区二区 | 奇米中文字幕 | 偷偷狠狠的日日日日 | 免费看国产精品久久久久 | 四虎网站网址 | 久久免费高清 | 特级黄一级播放 | 波多野结衣国产一区二区三区 | 四虎国产精品永久在线播放 | 欧美天天爽 | aaa大片| 天啪天天久久天天综合啪 | 国产成在线人视频免费视频 | 国产午夜亚洲精品国产 | 亚洲一区二区三区日本久久九 | 欧美综合精品一区二区三区 | 一区视频在线播放 | 午夜视频在线观看网站 | 久久se精品一区二区影院 |