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

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

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

      WCF中幾個基本知識點整理

       整理了幾個WCF里幾個基本知識點:

      1、WCF中的Message

      WCF中的消息對象Message,是有狀態的。它的狀態是MessageState枚舉。共有以下幾種類型:

       

      public enum MessageState
      {
          Created,
          Read,
          Written,
          Copied,
          Closed
      }

      對Message對象,只有在Create狀態下,才能讀,否則讀取會有異常。Message

      同樣定義了許多Write之類的方法,這些Write方法同樣也只能用于處于Created的消息。

       

      在WCF中,有可能需要對消息進行一些讀取、等操作。但是讀取操作會改變Message的

      狀態,導致再次讀取會有異 常。這時,可以使用Message定義的CreateBufferedCopy方法。

      它的簽名如下:

      public MessageBuffer CreateBufferedCopy(int maxBufferSize);
       

      它返回的是MessageBuffer對象,它能進行多次Create而返回Message對象,并且Message的狀態為Created。

      2、WCF中的消息編碼格式:
      Text、MTOM、Binary。Text格式是與平臺無關的;MTOM,基于WS-*MTOM規范,是

      大數據量二進制數據以SOAP傳輸時優化使用的格式,也與平臺無關;Binary是以二進制格式編碼,

      只用于.Net平臺上。

      3、元數據交換終結點
      元數據交換終結點是一類特殊的終結點,也成為MEX 終結點,它支持元數據交換的標準;

      服務可以根據他發布自己的元數據。

      對于WebService來說,它是通過WSDL的方式發布元數據,這樣對于WebService來說,

      是自動發布服務的元數據信息,于是我們可以通過WSDL工具生成WebService的代理類。

        在WCF中,服務是可以選擇不發布元數據信息的,即使是對于它所支持跨平臺HTTP協議。

      但是我們可以通過發布元數據交換終結點,生成服務的代理。

       

      WCF自動為服務宿主自動提供了IMetadataExchange接口的實現。對于元數據交換終結點,

      WCF提供了專門的綁定元素用以對不同的協議(如:HTTP、TCP、IPC)的支持。如HTTP則對應

      mexHttpBinding;對于Tcp則對應mexTcpBinding;對于IPC則對應mexNamedPipeBinding。

      以下就是對于HTTP、TCP、IPC這幾種協議下元數據交換終結點的配置:

       

      <system.serviceModel>
              <behaviors>
                  <serviceBehaviors>
                      <behavior name="mex">
                          <serviceMetadata/>
                      </behavior>
                  </serviceBehaviors>
              </behaviors>
              <services>
                  <service name="Service.CalculatorService" behaviorConfiguration="mex">
                      <host>
                          <baseAddresses>
                              <add baseAddress="net.tcp://127.0.0.1:3636/mexTcp" />
                              <add baseAddress="http://127.0.0.1:6363/mexHttp"/>
                              <add baseAddress="net.pipe://127.0.0.1"/>
                          </baseAddresses>
                      </host>
                      <endpoint address="net.tcp://localhost:3636/SessionfulCalculator" binding="netTcpBinding" contract="Contract.ICalculator"></endpoint>
                      <endpoint address="http://localhost:6363/SessionfulCalculator" binding="wsHttpBinding" contract="Contract.ICalculator"></endpoint>
                      <endpoint address="netpipe" binding="netNamedPipeBinding" contract="Contract.ICalculator"></endpoint>
                      <endpoint address="mex" binding="mexTcpBinding" contract="IMetadataExchange">    </endpoint>
                      <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange">    </endpoint>
                      <endpoint address="mex" binding="mexNamedPipeBinding" contract="IMetadataExchange">    </endpoint>
                  </service>
              </services>
          </system.serviceModel>
       

      這樣,不管服務所支持的HTTP、TCP、IPC等方式,我們都可以通過SVCUtil工具生成代理類

      進而訪問服務。

      在WCF中,對于HTTP協議而言,我們可以通過直接配置服務的行為,通過httpGetEnabled="true"

      的方式來發布服務的元數據信息,而它不支持其他協議;對于其他協議我們希望發布元數據信息,

      通過配置的方式顯然是一種很好的方式。

      對于元數據交換終結點配置,如:
      <endpoint address="mex" binding="mexNamedPipeBinding" 

      contract="IMetadataExchange"></endpoint>

       

      如果address配置為空或者與behavior中 name配置相同,則可以直接通過SVCUtil加上

      baseAddress生成代理類。如下圖:

       

      如果address和behavior中 name配置不同則生成代理類時SVCUtil 需要加上baseAddress +

      <endpointaddress="mex" binding="mexNamedPipeBinding"contract="IMetadataExchange" />

      中的address的屬性值。如下圖 :

       

      使用元數據交換終結點時,如果服務所支持的終結點綁定支持HTTP協議,不論如下配置:
      <behavior name="mex">                    

       <serviceMetadata httpGetEnabled="false"/>

      </behavior>

       httpGetEnabled的值如何,都能生成代理類。
      posted @ 2012-05-08 07:32  tyb1222  閱讀(3078)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 最新国产AV最新国产在钱| 亚洲国产精品综合久久20| 亚洲综合在线一区二区三区| 97久久综合亚洲色hezyo| 亚洲一区二区| 在线观看中文字幕国产码| 蜜臀av日韩精品一区二区| 深夜av在线免费观看| 又色又爽又黄18禁美女裸身无遮挡 | 国产情侣一区二区三区| 国产精品小仙女自拍视频| 欧美喷潮最猛视频| 五月天天天综合精品无码| 亚洲女初尝黑人巨| 国产亚洲精品第一综合另类灬 | 91精品91久久久久久| 制服丝袜美腿一区二区| 文中字幕一区二区三区视频播放| 高清偷拍一区二区三区| 久久不见久久见www日本| 亚洲av无码专区在线亚| 无码囯产精品一区二区免费| 性色av免费观看| 亚洲成熟女人av在线观看| 亚洲av无码一区二区三区网站| 亚洲综合小综合中文字幕| 九九热在线视频观看这里只有精品| 成人免费在线播放av| 综合偷自拍亚洲乱中文字幕| 中文国产不卡一区二区| 久久精品av国产一区二区 | 午夜免费无码福利视频麻豆| 国产成人精品一区二区三区| 国产精品爽爽久久久久久| 免费观看全黄做爰大片| WWW丫丫国产成人精品| 日韩精品福利一区二区三区| 亚洲国产大胸一区二区三区| 综合久青草视频在线观看| 无码专区 人妻系列 在线| 亚洲成人av在线高清|