“面向过程”、“面向对象”,这对我们来说,并不陌生了。“面向服务”,你知道吗?
简单地说,面向服务的体系结构,是将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。
不过,这篇博客我们要讲的并不是“面向服务”编程,而是实现“面向服务”编程的技术:WCF。
一.什么是WCF
毫无疑问,我们的第一个问题便是"What is the WCF"。为了更容易理解,我们不妨从开发的角度来说。
在此之前,我们接触的都是基于ASP.NET的应用程序开发。在基于ASP.NET的应用程序开发中,浏览器直接访问应用程序服务器,然后通过应用程序服务器中的数据库去链接数据库服务器,读取或是操作数据。这样,所有的应用基本都放在了一台服务器上,这就使得与外部系统交互不方便,一台服务器很难支持所有的应用。
下面,我们看另外一张图:
客户机访问服务器A,而服务器A并不能解决所有的应用,而在其它的各个服务器上可以实现其它各种应用,所以将A与其它服务器相连。而如何实现这些服务器互相通信的问题,便叫做WCF技术。
二.第一个WCF程序
在了解了WCF技术,下面自己来实践一下,如何创建WCF程序。
1.新建空白解决方案,并在解决方案中新建项目,项目类型为WCF服务应用程序。建立完成后,项目如下图所示:
2.删除系统生成的两个文件IService1.cs与Service1.svc
3.添加自定义的WCF【服务文件】User.svc
此时项目中会自动生成WCF接口文件Iuser.cs。
4.在IUser中定义WCF方法SayHello,在User.svc.cs对该接口的方法进行实现。
代码如下:
Iuser.cs:
User.svc.cs:
与普通接口不同的是,在wcf中的接口添加了两个上下文:
[ServiceContract]:说明接口是一个WCF接口。
[OperationContract]:说明该方法是一个WCF方法。
不加这两个上下文的话,就不能被外部调用。
此时,我们的第一个WCF服务程序就建立好了,将User.svc设为起始页,按"F5",VS2012自动调用了WCF的客户端测试工具以便我们测试程序:
双击SayHello()方法,在请求窗口填写参数,然后点击调用。在响应窗口就会出现返回值:"WCF服务:Hello"。说明测试成功。
三.学习总结
虽然做的项目中用了WCF,但自己并不知道WCF服务程序是如何一步一步建立起来的。而现在,在有了实践的基础上,回过头来学习一些理论知识,感觉更加清楚了。
从编程来说,WCF是一种技术上的进步,更是一种思想上的进步。而在学习过程中,同样,不仅要有技术上的提高,更需要有思想上的升华。
什么是WCF
最新推荐文章于 2024-07-01 14:16:59 发布