<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                轉眼已經中斷10幾天沒有寫博客了,也不是工作太忙,正好碰到了端午節,然后最近看天津臺的[愛情保衛戰](http://www.iqiyi.com/a_19rrgublqh.html?vfm=2008_aldbd)入迷了。。。太好看了,一直都是回味無窮。。。而且 涂磊老師話說的真是tmd的經典,然后就這樣耽擱了,好了,話不多說,這篇我們看看binding中最后一點需要知道的東西。 ## 一:信道棧   我在之前的文章中多次提到信道棧,不知道大家對它的概念是否有了解,其實想想也還是蠻簡單的,既然是棧,那么這個棧肯定就不止一個元素了,對吧,第二個 的話,既然是棧,那么肯定就遵循FILO的原則,可能你會說,這個還是蠻抽象的,能給個具體的例子么???恭喜你,wcf中還真有一個方法CreateBindingElements, 下面我們具體看看。。。 1\. ?簡單看看各種binding的棧中都有些什么   ![](https://box.kancloud.cn/2015-08-04_55c0b48f81297.png) 看到上面的監控窗口,是不是有點意思,在BasicHttpBinding的信道棧中有兩個元素,分別是HttpTransportBindingElement和TextMessageEncodingBindingEl ement,通過名字也能很容易的判斷出來,一個是“http傳輸協議”,一個是“文本消息編碼協議”,然后再看看復雜一點的WSHttpBinding,你會發現,他不光有Basic 的所有東西,還包括SymmetricSecurityBindingElement(安全協議) 和?TransactionFlowBindingElement(事務流),現在你心中是不是有底了,起碼我知道各 種Binding里面都有些啥,為了更好的理解,我來畫一張簡圖。 ![](https://box.kancloud.cn/2015-08-04_55c0b48fab671.png) 上面這個圖,大概也就表達了我的意思,當我們Client在走WSHttpBinding這個協議的時候,Client端的InputMessage會先走?TransactionFlow,SymmetricSec urity,TextMessageEncoding,最后走HttpTransport,然后Service端就按照客戶端進行“反向處理”,通過一陣禁臠之后,我們就拿到了安全的OutputMessage。 ## 二:BindingElement的跨綁定性   你要是很仔細的話,你肯定會發現,其實Binding就是一個預先默認配置好的信道棧,對不對,你也看到了,每一種Binding都有屬于自己的BindingElements, 恰恰這些Elements是可以跨Binding的,也就是說我可以自由組合Elements,這樣是不是可以給我們這些寒酸的碼農最大的靈活性,對吧,舉個簡單的例子, BasicHttpBinding有兩個綁定元素,其中對soap消息進行的是TextMessageEncoding編碼對吧,而netTcpBinding對soap進行的BinaryMessageEncoding, 然后你也應該知道了,我想做一個自定義的Binding,其中消息編碼是BinaryMessage,傳輸協議是HttpTransport,那怎么做呢???? Host文件: ~~~ class Program1 { static void Main(string[] args) { ServiceHost host = new ServiceHost(typeof(HomeService), new Uri("http://192.168.1.105:1920")); var customBinding = new CustomBinding(); customBinding.Elements.Add(new BinaryMessageEncodingBindingElement()); customBinding.Elements.Add(new HttpTransportBindingElement()); host.AddServiceEndpoint(typeof(IHomeService), customBinding, "HomeServie"); host.Description.Behaviors.Add(new ServiceMetadataBehavior() { HttpGetEnabled = true }); host.AddServiceEndpoint(typeof(IMetadataExchange), MetadataExchangeBindings.CreateMexHttpBinding(), "mex"); host.Open(); Console.WriteLine("服務已經開啟!!!"); Console.Read(); } } ~~~ Client調用: ~~~ static void Main(string[] args) { ServiceReference1.HomeServiceClient client = new ServiceReference1.HomeServiceClient(); var result = client.Update("你好"); Console.WriteLine("server value:" + result); Console.Read(); } ~~~ 最后我們用Fiddler監視一下,最后我們看看,都是些亂碼。 ![](https://box.kancloud.cn/2015-08-04_55c0b491397cf.png) 這篇就說到這里了,希望對你有幫助,下一篇我們看看WCF中的Behavior,很好玩的哦~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看