Windows Communication Foundation(WCF)是由微軟開發的一系列
支持數據通信的應用程序框架,可以翻譯為Windows 通訊開發平台。
簡單的歸結為四大部分
1>.網絡服務的協議,即用什么
網絡協議開放客戶端接入。
2>.業務服務的協議,即聲明服務提供哪些業務。
3>.數據類型聲明,即對客戶端與服務器端通信的數據部分進行一致化。
4>.傳輸安全性相關的定義。
通信雙方的
溝通方式,由
合約來訂定。通信雙方所遵循的
通信方法,由
協議綁定來訂定。通信期間的
安全性,由雙方
約定的安全性層次來訂定。
WCF 的基本概念是以契約(Contract) 來定義雙方溝通的協議,契
約必須要以接口的方式來體現,而實際的服務代碼必須要由這些契約接口派生並實現。契約分成了四種:
數據契約(Data Contract),訂定雙方溝通時的數據格式。服務契約(Service Contract),訂定服務的定義。操作契約(Operation Contract),訂定服務提供的方法。消息契約(Message Contract),訂定在通信期間改寫消息內 容的規范。
WCF 實現上已經支持了
傳輸層次安全性 (Transport-level security) 以及
消息層次安全性 (Message-level security) 兩種。
優勢:
1,統一性
它是由多種技術的整合,但仍然可以向.net一樣面向對象代碼編寫,因為它采用托管代碼編寫方式。
2,互操作性
它采用SOAP通訊機制,保證了系統之間的互操作性,可以跨進程、跨機制。甚至跨平台通信,只要他支持web Service。
3,安全與可靠性
因為它包含多種協議,故有多種協議的安全機制,尤其是SOAP的。
4,兼容性
它可以在新舊平台上使用。
例題

1,IService1定義一個方法,這個方法必須有契約標志。
[OperationContract]
string HelloWord();
string HelloWord();
2,Service1.svc上的服務代碼必須要由這些契約接口派生並實現
public string HelloWord()
{
return "Hello WCF!";
}
{
return "Hello WCF!";
}
3,運行 Service1.svc 若安裝有WCF測試客戶端,將會出現以下界面



4,還可以自己創建一個Windows窗體程序來調用這個服務。
在這個窗體程序添加服務引用,如圖

添加成功后將會顯示這個服務,如圖:

實現代碼:
ServiceReference1.Service1Client c = new WindowsFormsApplication1.ServiceReference1.Service1Client();
string s = c.HelloWord();
MessageBox.Show(s);
string s = c.HelloWord();
MessageBox.Show(s);
運行后彈出一個提示框顯示。