【WCF系列一】WCF入门教程(图文) VS2012
2014-02-10 10:58
281 查看
WCF的全称是Windows Communication Foundation,从英文名称上看,WCF就是基于Windows下一种通讯的基础架构。利用WCF能够实现基于Windows下的各种通讯技术的开发以及应用。WCF是面向服务的,它是构建面向服务的系统设计。简化实现SOA的方法。WCF也是松耦合,并没有限制在特定协议、编码格式、或者主机环境上。还有WCF所有的选项都是可配置的。WCF也提供了非常好的可交互性,主要体现在两个方面,一个是支持Web Service的核心标准,另一个是在可扩展性方面能够快速适用新协议和更新。WCF强调了整合性,整合了Microsoft早期期技术。如COM、Enterprise Services,MSMQ。
本文就介绍下WCF入门以及宿主如何调用WCF服务。在这个例子中我们将使用VS 2012 创建一个WCF服务,其中会了解[DataContract] [ServiceContract] 等的特性以及通过内置的 WCFSVCHost ,并使用“WCF测试客户端”来测试我们创建的服务。最终在不同的宿主上调用该WCF。
注意下面的所有类、接口及方法都添加了public 的访问级别。
1、 创建WCF服务库,如下图所示
View Code
4、通过WCFSVCHost 来测试WCF服务
在Visual Studio 中为我们提供了测试WCF的工具,按F5启动WCF会出现两个东西:
一个是在右下角的托盘图标中会出现WCFSVCHost(WCF服务主机),它为我们在开发时候提供了一个运行WCF的服务器,用来为测试客户端提供WCF服务。如下图所示:
另一个是“WCF测试客户端”
“测试客户端”从WcfSVCHost中取得WCF服务的元数据,解析为左侧的“服务结构树”,从这里面我们可以看到此WCF服务为我们提供了一个服务契约“IPersonService”,此服务契约中对外提供了三个可调用的方法。如下图所示:
然后我们可以通过服务方法来测试。点击不同的方法进行测试,如下图所示:
在本例中我们看到,WCF作为面向对象和面向服务的桥梁 ,提供了非常方便的工具,无论是开发,配置还是测试,为我们可以快速的上手并提供面向服务的应用。你可以把WCF类库当作普通类库去做,但他提供了更强大的面向服务的特性。
5、后话
WCF的理论学习复杂程度远大于其的使用难度,而如果你是一名初学者,千万不要先陷入其复杂的理论学习中,花费很多的时间,而且看得晕头转向,最好先去实践,先去用,这样再去看WCF的深入概念和技术才会在大脑里面形成更好理解的印象和对应。下讲说明如何通过宿主来调用WCF服务。如果各位有疑问或者指教,请留言或者加群225109172,共同学习进步。
本文就介绍下WCF入门以及宿主如何调用WCF服务。在这个例子中我们将使用VS 2012 创建一个WCF服务,其中会了解[DataContract] [ServiceContract] 等的特性以及通过内置的 WCFSVCHost ,并使用“WCF测试客户端”来测试我们创建的服务。最终在不同的宿主上调用该WCF。
注意下面的所有类、接口及方法都添加了public 的访问级别。
1、 创建WCF服务库,如下图所示
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="aspnet:UseTaskFriendlySynchronizationContext" value="true" /> </appSettings> <system.web> <compilation debug="true" /> </system.web> <!-- 部署服务库项目时,必须将配置文件的内容添加到 主机的 app.config 文件中。System.Configuration 不支持库的配置文件。--> <system.serviceModel> <services> <service name="WcfServiceLibrary1.PersonService"> <endpoint address="" binding="basicHttpBinding" contract="WcfServiceLibrary1.IPersonService"> <identity> <dns value="localhost" /> </identity> </endpoint> <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" /> <host> <baseAddresses> <add baseAddress="http://localhost:8733/Design_Time_Addresses/WcfServiceLibrary1/Service1/" /> </baseAddresses> </host> </service> </services> <behaviors> <serviceBehaviors> <behavior> <!-- 为避免泄漏元数据信息, 请在部署前将以下值设置为 false --> <serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/> <!-- 要接收故障异常详细信息以进行调试, 请将以下值设置为 true。在部署前设置为 false 以避免泄漏异常信息--> <serviceDebug includeExceptionDetailInFaults="False" /> </behavior> </serviceBehaviors> </behaviors> </system.serviceModel> </configuration>
View Code
4、通过WCFSVCHost 来测试WCF服务
在Visual Studio 中为我们提供了测试WCF的工具,按F5启动WCF会出现两个东西:
一个是在右下角的托盘图标中会出现WCFSVCHost(WCF服务主机),它为我们在开发时候提供了一个运行WCF的服务器,用来为测试客户端提供WCF服务。如下图所示:
另一个是“WCF测试客户端”
“测试客户端”从WcfSVCHost中取得WCF服务的元数据,解析为左侧的“服务结构树”,从这里面我们可以看到此WCF服务为我们提供了一个服务契约“IPersonService”,此服务契约中对外提供了三个可调用的方法。如下图所示:
然后我们可以通过服务方法来测试。点击不同的方法进行测试,如下图所示:
在本例中我们看到,WCF作为面向对象和面向服务的桥梁 ,提供了非常方便的工具,无论是开发,配置还是测试,为我们可以快速的上手并提供面向服务的应用。你可以把WCF类库当作普通类库去做,但他提供了更强大的面向服务的特性。
5、后话
WCF的理论学习复杂程度远大于其的使用难度,而如果你是一名初学者,千万不要先陷入其复杂的理论学习中,花费很多的时间,而且看得晕头转向,最好先去实践,先去用,这样再去看WCF的深入概念和技术才会在大脑里面形成更好理解的印象和对应。下讲说明如何通过宿主来调用WCF服务。如果各位有疑问或者指教,请留言或者加群225109172,共同学习进步。
相关文章推荐
- 【WCF系列一】WCF入门教程(图文) VS2012
- WCF入门简单教程(图文) VS2010版
- Spark入门实战系列 图文教程 包含开发工具测试数据 源代码
- WCF入门简单教程(图文) VS2010版
- WCF入门简单教程(图文) VS2010版
- C# WCF简单入门图文教程(VS2010版)
- SharePoint 2013 图文开发系列之入门教程
- WCF入门到精通系列教程第1篇:Hello WCF
- VS2012入门图文教程——第一个程序Hello World
- WCF入门简单教程(图文) VS2010
- WCF入门简单教程(图文) VS2010版
- WCF入门简单教程(图文) VS2010版
- WCF入门简单教程(图文) VS2010版
- [Visual C++系列]Visual C++/MFC入门教程
- 无废话WCF入门教程二[WCF应用的通信过程]
- 【转】真正从零开始,TensorFlow详细安装入门图文教程!(帮你完成那个最难的从0到1)
- Java日志服务入门系列教程——(2)Apache log4j入门
- Django系列教程(1)--入门
- Rails3教程系列之四:Rails3入门(4)
- 2016 版 Laravel 系列入门教程(五)【最适合中国人的 Laravel 教程】