WCF 入门 基础知识(一)
2014-04-18 16:22 初阳 阅读(274) 评论(0) 收藏 举报什么是WCF?
不少的初学者理解不了什么是WCF,不清楚WCF与WebService有什么区别。
首先我们来看看什么是wcf:
wcf说简单一点启示就是基于windows平台下开发和部署的SDK。
往细了说wcf是微软对一系列的行业标准规范的框架实现。这个规范包括服务交互、类型转换、封送以及各种协议管理。WCF 由于集合了几乎由.NET Framework 所提供的通信方法,因此学习曲线比较陡峭,开发人员必须要针对各个部份的内涵做深入的了解,才能够操控 WCF 来开发应用程序。
WCF 的基本概念是以契约(Contract) 来定义双方沟通的协议,合约必须要以接口的方式来体现,而实际的服务代码必须要由这些合约接口派生并实现。合约分成了四种:数据契约(Data Contract),订定双方沟通时的数据格式。服务契约(Service Contract),订定服务的定义。操作契约(Operation Contract),订定服务提供的方法。消息契约(Message Contract),订定在通信期间改写消息内容的规范。
一个简单的wcf契约
1 using System; 2 3 using System.ServiceModel; 4 5 namespace Microsoft.ServiceModel.Samples{ 6 7 [ServiceContract(Namespace = "http://Microsoft.ServiceModel.Samples")] // 服务契约 8 9 public interface ICalculator 10 11 { 12 13 [OperationContract] // 操作契约 14 15 double Add(double n1, double n2); 16 17 [OperationContract] //操作契约 18 19 double Subtract(double n1, double n2); 20 21 [OperationContract] // 操作契约 22 23 double Multiply(double n1, double n2); 24 25 [OperationContract] //操作契约 26 27 double Divide(double n1, double n2); 28 29 } 30 31 }
什么是服务?
首先大家要明白一个基本的概念:wcf 服务中的服务是一组开放的或者说是公开的功能集合。
还有一点很重要服务的创建对外界是不透明的,外部客户端并不知道服务的内在细节,那外界是怎么知道这个服务的具体功能和使用方法呢?
大家要记住wcf是通过公开元数据,来描述提供的功能或者服务。也就是说客户端程序通过wcf的元数据描述,就能在自身的环境下通过CLR来运行wcf提供的服务。同理wcf也可以通过此方法来获取其他服务的使用。这样就最简单的总结出了wcf的一个优点,服务的跨语言,跨平台型。也就是有,只要知道服务的连接,通过连接就能获取元数据描述,wcf就能整合这个外部服务的功能。举个例子,wcf是C#编写的,若我们向其提供一个java编写的服务,它也能整合使用。
wcf的服务执行边界
wcf 不允许客户端与服务直接进行交接。必须通过代理(proxy)。
废话不说,看两个图大家就会明白,wcf允许在同一个应用程序域、同一个进程、甚至是进程间的服务调用、通信。
同一台机器上

跨越机器间的通信

刚开始都是一些基础知识,相当的无聊啊,没办法,一门新技术都是这么慢慢来的。不了解基础也设计本不好的作品。
让我们进入WCF 入门 基础知识(二)吧!!
浙公网安备 33010602011771号