本節目標編程
認識一下接口
編碼
必須知道的接口特性
spa
理解接口.net
定義一個接口是爲了遵循同一種規範,便於程序的擴展。
接口是一種能力
接口是一種約定
關鍵字
Interface
public
abstract
代理
契約合同能保障雙方的利益,對客戶來講,合同規定了供應者要作的工做;對供應者來講,合同說明了若是約定的條件不知足,供應者沒有義務必定要完成規定的任務。該道理一樣也適用於軟件. 因此,契約式編程是編程的一種方法。code
引入契約觀念以後,這種Client 與 Server 關係被打破,你們都是平等的,你須要我正確提供服務,那麼你必須知足我提出的條件,不然我沒有義務「排除萬難」地保證完成任務。對象
WCF服務契約
blog
服務契約描述了暴露給外部的類型(接口或類)、服務所支持的操做、使用的消息交換模式和消息的格式。每一個WCF服務必須實現至少一個服務契約。使用服務契約必需要引用命名空間System.ServiceModel 。繼承
ServiceContractAttribute:該特性可被用來做用於子類或者接口之上,並容許重複聲明。接口
OperationContractAttribute:只有定義了該特性的方法纔會被放入服務之中。
新建項目——類庫,這裏咱們先不直接新建一個WCF服務,而是新建一個類庫,命名爲HelloService
添加引用
刪除Class1.cs,而後新建一個接口IHelloService.cs:
添加HelloService類:
ServiceHost類型:當IIS活WAS做爲宿主程序時,IIS和WAS會自動建立ServiceHost類型。
手動建立的基本語法:public ServiceHost(Type serviceType,params Uri[] baseAddresses);
新建項目——控制檯應用程序
而後添加System.ServiceModel引用,和項目引用HelloService,引用以前的類庫項目。
HelloServiceHost 項目中Program.cs代碼以下:
新建項目——控制檯應用程序
HelloClient項目中Program.cs代碼以下:
先運行HelloServiceHost
而後運行HelloClient