作爲WCF速成系列,只介紹些項目開發中常用到的實戰知識。
學習wcf,還是對其中的幾個術語要了解一下。wcf中有一個ABC的概念,就是
第一: "A" 是地址,就是告訴別人我wcf在何處。
第二: "B"是綁定,就是告訴別人應該走什麼路才能過來。
第三: "C"是契約:就是告訴別人我wcf這裏有哪些東西。
項目開發中常用到的三種綁定:
第一:wsHttpBinding, 這個binding可以認爲是webservice的加強版WSE,設計的目的就是用於異構系統的交互(比如java)。
第二:netTcpBinding, 這個binding可以認爲是remoting的加強版,設計的目的就是用於不同機器的.net 程序交互,
第三: netMsmqBinding, 這個binding可以認爲是msmq的加強版本,設計目的就是脫機環境下不同機器的.net程序交互,確保信息不丟失。
下面對前二種binding的實際代碼運用。
wsHttpBinding:
第一步:新建一個類庫,分別建立IFly和People文件,也就是完成wcf中的“C"工作,
第二步: 既然”C"已經出來了,那麼她必須要有承載她的環境,也就是所謂的“宿主”。這裏用console來承載。
新建console程序。
第三步:現在服務處於預開啓狀態,爲了讓wcf更加靈活,更加容易控制,就要將相關配置寫入到config裏面。
在console類庫中新建一個config文件,最後運行console程序正式啓動。代碼圖如下:
最後: wcf已經開啓,正在監視着address,然後我們就是先建一個console的Client程序,“引用”中“點擊右鍵”添加服務引用。
點擊“確定”後,引用完成,接下來,我們調用wcf就像調用本地程序一樣那麼簡單。哈哈.
netTcpBinding:
如果大家看懂了wsHttpBinding如何使用,那麼改成netTcpBinding將會是輕而易舉。 因爲只要修改兩個地方即可。
第一:修改配置文件中的endpoint地址。
第二: 更新下客戶端的“服務引用”,然後運行看下效果圖。
哈哈: 現在知道wsHttpBinding和netTcpBinding直覺上的差異了吧。
netMsmqBinding:
如果大家瞭解了上面的兩種binding,就試試用msmqbinding吧,這也是我在系列中第二天要分享的內容。