资源描述:
《使用wcf分布式应用程序通信》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、使用WCF分布式应用程序通信Windows基础通信(WCF)是.Net框架(.NetFramework)的一个子集,它是为提升分布式应用环境的相互操作性而设计的。随着Web服务(Webservices)的认可,以及相关协议和标准的诞生,使分布式应用程序发展成为了开发规范。WCF的引入简化了面向服务的编程模型,在其基础上提供异步和非类型消息传递。从底层扩展选项和协议,让开发者在传输方式和编码方法上有很多配置选择。序言Windows基础通信(WCF)是.Net框架(.NetFramework)的一个子集,它是为提升分布式应
2、用环境的相互操作性而设计的。随着Web服务(Webservices)的认可,以及相关协议和标准的诞生,使分布式应用程序发展成为了开发规范。WCF的引入简化了面向服务的编程模型,在其基础上提供异步和非类型消息传递。从底层扩展选项和协议,让开发者在传输方式和编码方法上有很多配置选择。 .NETRemoting,.NETWebservices和企业服务这些熟悉的技术将被认可,在WCF里就会有熟练的开发经验。除了那些老技术,WCF的序列化功能可以允许不同平台的松散藕合的分布式应用程序。这允许每个应用程序开发环境要更加独立且较少
3、的维护。WCF可以与现有的.Net框架技术整合,如COM+、WebServicesEnhancements(WSE)、消息列队或更多其他。WCF有自己的一套术语和表达形式。在开始之前,一下内容要重点了解:查看原图通过这里了解更多WCF的术语和定义: http://msdn.microsoft.com/en-us/library/ms731079.aspx不论你是在不同的平台、整个互联网或相同的服务器上开发WCF应用程序,下面是构建WCF应用程序的步骤:·定义一个服务协定 ·实现协定 ·配置服务 ·托管服务 ·通过客户端
4、调用服务 下面的演示使用控制台应用程序来创建一个服务,并通过WPF客户端应用程序来调用该服务。这个WPF客户端应用程序可以从服务检索产品列表,展现给用户且允许用户删除个别产品。首先,用VisualStudio创建一个名为WCFProductService的控制台应用程序。本演示用到一个名为Product的类。本例子的数据将在实例运行是被创建,但是你可能需要通过数据库检索数据。usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.
5、Text;namespaceWCFProductService{publicclassProduct{publicProduct(){}publicintProductID{get;set;}publicstringProductName{get;set;}publicstringProductDesc{get;set;}publicintInventory{get;set;}publicList GenerateProductList(){List returnList=newList();returnList.Ad
6、d(newProduct(){ProductID=1,ProductName="Ball",ProductDesc="White,Round",Inventory=10});returnList.Add(newProduct(){ProductID=2,ProductName="Bat",ProductDesc="Wood",Inventory=7});returnList.Add(newProduct(){ProductID=3,ProductName="Glove",ProductDesc="Brown,Leath
7、er",Inventory=3});returnList.Add(newProduct(){ProductID=4,ProductName="Helmet",ProductDesc="HeadProtection",Inventory=12});returnList.Add(newProduct(){ProductID=5,ProductName="Pads",ProductDesc="BodyProtection",Inventory=12});returnList.Add(newProduct(){ProductI
8、D=6,ProductName="Jersey",ProductDesc="TeamSpirit",Inventory=2});returnList.Add(newProduct(){ProductID=7,ProductName="FoamFinger",ProductDesc="Awesome",Inventory=23});