天天看點

十五天精通WCF——第一天 三種Binding讓你KO80%的業務

  

  轉眼wcf技術已經出現很多年了,也在.net界混的風生水起,同時.net也是一個高度封裝的架構,作為在wcf食物鍊最頂端的我們所能做的任務已經簡單的不能再簡單了,

再簡單的話馬路上的大媽也能寫wcf了,好了,wcf最基本的概念我們放在後面慢慢分析,下面我們來看看神奇的3個binding如何KO我們實際場景中的80%的業務場景。

一:basicHttpBinding

這裡我就不多說了,太簡單的東西沒意思,先看個例子簡單感受了,你隻需知道的是basic走的是http協定就好了,傳輸消息為soap。

1. 契約

2. 實作類

3. 服務啟動

4. 配置config檔案

5. 然後通過 servicehost 啟動服務端

十五天精通WCF——第一天 三種Binding讓你KO80%的業務

好了,到現在為止,服務端全部開啟完畢,接下來我們通過“添加服務引用”,來添加對用戶端的引用

十五天精通WCF——第一天 三種Binding讓你KO80%的業務

麻蛋,就這麼簡單,是的,就這樣簡單的五步,基于http的通信就這樣被不小心的完成了,真不好意思。

二:netTcpBinding

  有了basic的代碼,現在我們要改成tcp通信,這會通信走的是位元組流,很簡單,改一下服務端的config檔案就好了,大家也知道這種性能要比basic好。

三:netMsmqBinding

  msmq這個玩意,我想大家都清楚,一個實體上的檔案,好處呢,你也明白,就是client和service的所有通信都要經過它的手,這樣任何一方出了問題,隻要

它在就沒問題了。同樣我們把tcp改成msmq也是非常簡單的,不過要注意,msmqbinding中是不可以讓契約方法有傳回值的。是以我們加上isoneway就好了。

然後我在mmc上建立一個消息隊列,如下:

十五天精通WCF——第一天 三種Binding讓你KO80%的業務

然後我們再改動以下配置檔案

十五天精通WCF——第一天 三種Binding讓你KO80%的業務

縱觀上面的三種binding,配置起來何其簡單,底層的各種通訊協定貌似對我來說都是透明的,其實呢???wcf在底層做了何其多的事情,而我卻沒有挖掘。。。

這對碼農裡說也是一種悲哀啊。。。出了問題就隻能禱告上天。。。下一篇我會開始深入剖析。

繼續閱讀