C# WCF 之優勢及特性


Windows Communication Foundation(WCF)是由微軟開發的一系列 支持數據通信的應用程序框架,可以翻譯為Windows 通訊開發平台。
整合了原有的 windows通訊的 .net RemotingWebServiceSocket的機制,並融合有 HTTPFTP的相關技術。
簡單的歸結為四大部分
1>.網絡服務的協議,即用什么 網絡協議開放客戶端接入。
2>.業務服務的協議,即聲明服務提供哪些業務。
3>.數據類型聲明,即對客戶端與服務器端通信的數據部分進行一致化。
4>.傳輸安全性相關的定義。
通信雙方的 溝通方式,由 合約來訂定。通信雙方所遵循的 通信方法,由 協議綁定來訂定。通信期間的 安全性,由雙方 約定的安全性層次來訂定。
 
WCF 的基本概念是以契約(Contract) 來定義雙方溝通的協議,契 約必須要以接口的方式來體現,而實際的服務代碼必須要由這些契約接口派生並實現。契約分成了四種:
數據契約(Data Contract),訂定雙方溝通時的數據格式。服務契約(Service Contract),訂定服務的定義。操作契約(Operation Contract),訂定服務提供的方法。消息契約(Message Contract),訂定在通信期間改寫消息內 容的規范。
 
WCF 實現上已經支持了 傳輸層次安全性 (Transport-level security) 以及 消息層次安全性 (Message-level security) 兩種。
傳輸層次安全性:在數據傳輸時期加密,例如 SSL。消息層次安全性:在數據處理時就加密,例如使用 數字簽名,散列或是使用 密鑰加密法等。
 
優勢:
1,統一性
它是由多種技術的整合,但仍然可以向.net一樣面向對象代碼編寫,因為它采用托管代碼編寫方式。
2,互操作性
它采用SOAP通訊機制,保證了系統之間的互操作性,可以跨進程、跨機制。甚至跨平台通信,只要他支持web Service。
3,安全與可靠性
因為它包含多種協議,故有多種協議的安全機制,尤其是SOAP的。
4,兼容性
它可以在新舊平台上使用。
 
例題
一個簡單的WCF實例。
1,IService1定義一個方法,這個方法必須有契約標志。
 [OperationContract]
 string HelloWord();
2,Service1.svc上的服務代碼必須要由這些契約接口派生並實現
 public string HelloWord()
        {
            return "Hello WCF!";
        }
3,運行 Service1.svc 若安裝有WCF測試客戶端,將會出現以下界面
 HelloWord()就是自己創建的一個方法,雙擊它。
點擊調用
將會出現相關結果。
4,還可以自己創建一個Windows窗體程序來調用這個服務。
在這個窗體程序添加服務引用,如圖
 
添加成功后將會顯示這個服務,如圖:
 實現代碼:
 ServiceReference1.Service1Client c = new WindowsFormsApplication1.ServiceReference1.Service1Client();
            string s = c.HelloWord();
            MessageBox.Show(s);
運行后彈出一個提示框顯示。
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM