本节目标编程
认识一下接口
编码
必须知道的接口特性
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