【Asp.net精品源码栏目提醒】:以下是网学会员为您推荐的Asp.net精品源码-WCF教程(一) - 教育,希望本篇文章对您学习有所帮助。
跟我一起从零开始学WCF1 WCF概述 概述 徐长龙 MSDN 特邀讲师 vsts_chinahotmail.com加速企业解决方案部署尽在 资源和利益 用于解决方案开发的集中资源:资源包括指向测试工具、开发 用于解决方案开发的集中资源 资源包括指向测试工具 开发 人员 SDK、技术论坛、联机培训等的链接,微软全球技术支持 中心GTSC的邮件技术支持。
对市场调查的访问权限:您可以使用这些宝贵信息来识别您当 前的客户或未来客户的特定需求。
认证徽标计划:该徽标可以向客户证明您所具有的优秀技术。
市场营销和销售支持 http://InnovateOn.com h OMetro – ISV领航计划 最先应用微软最新技术 提升ISV竞争优势和商业价值 提升ISV竞争优势和商业价值 Metro 提供了结构化的支持来帮助ISV进行新技术的评估和 部署 部署: – 参与前沿技术培训 Discover – 评估最新的微软技术及产品 – 获取微软Beta版产品的技术支持 Release Learn – 联络全球开发人员和架构师社区 – 与世界级的商务和技术社区分享最先 Develop 部署的经验收听本次课程需具备的条件 熟悉Web Service编程 熟悉 编程 熟悉Visual Studio 2005/2008 熟悉分布式应用程序开发Level 200本次课程内容包括 什么是WCF WCF背景介绍什么是WCF 在了解什么是WCF前,我们先看一个场景 一家汽车租赁公司决定创建一个新的应用程序,用于汽车 预定 该租车预定应用程序的创建者知道,应用程序所实现的业 务逻辑必须能够让公司内外运行的其他软件访问 – 运行在 Windows 桌面上的呼叫中心客户端应用程序 服务器构建、在非 – 基于 J2EE 服务器构建 在非 Windows 系统上运行的现有预定应 用程序。
由于最近与另一家汽车租赁公司合并,此现有系统必须 能够访问新应用程序的逻辑,以便为合并后公司的客户提供一致 的体验。
的体验 – 运行在各种平台上的合作伙伴应用程序,每个应用程序分别位于 一个与该汽车租赁公司有业务合作的公司内。
合作伙伴可能包括 旅行社、航空公司,以及具有租车预定业务需求的其他组织什么是WCF 性能? 呼叫中心客户 Intranet 端应用程序 .NET Framework 互操作性? 汽车预定程序 安全性? 事务性? .NET Framework 现有预定 应用程序 J2EE应用程序服 务器 互操作性? 安全性? 安全性 业务和技术 事务性? 要求如此繁 杂,如何满 Internet 足又避免复 合作伙伴 应用程序 杂性? 各种平台 .NET Framework什么是WCF 远程处理 性能? 呼叫中心客户 Intranet 互操作性:
ASP.NET 端应用程序 Web 服务 ASMX 互操作性? 安全性:WSE .NET Framework 事务性:企业服务 汽车预定程序 安全性? Microsoft 消息队列 事务性? MSMQ .NET Framework 现有预定 应用程序 J2EE应用程序服 务器 互操作性? 安全性? 安全性 事务性? Internet 合作伙伴 应用程序 各种平台什么是WCF 如果没有WCF,应用程序可能要使用多种现有的 .NET Framework 技术 F k –
ASP.NET Web 服务 ASMX。
的现有预定应用程序,以及与 – 这种技术用于与基于 J2EE 的现有预定应用程序 以及与 Internet 上的合作伙伴应用程序进行通信。
因为目前大多数平台都支持基 本的 Web 服务,所以在 WCF 发布之前,这是实现跨供应商互操 作性的最直接的方法。
作性的最直接的方法 – .NET Framework 远程处理。
– 这种技术可用于与呼叫中心应用程序进行通信,因为二者都是建 立在 .NET Framework 之上的。
远程处理专门为紧密耦合 NET 通信而设计,因此它为本地网络中的应用程序提 的 .NET 到 .NET 通信而设计 因此它为本地网络中的应用程序提 NET 供了无缝而直接的开发体验。
什么是WCF 如果没有WCF,应用程序可能要使用多种现有的 .NET Framework 技术 F k – 企业服务。
– 租车预定应用程序使用该技术来管理对象生存期和定义分布式事 务。
在与此应用场景中的任何其他应用程序通信和集成时,这些 功能会很有用,但是企业服务仅支持有限的一组通信选项。
– WSE。
起使用,以便与基于 – 可与 ASMX 一起使用 以便与基于 J2EE 的预定应用程序以及合 作伙伴应用程序进行通信。
它实现了最新定义的一些 Web 服务 协议(统称 WS- 规范),因此只要相关所有应用程序都支持这 些新规范的兼容版本,WSE 些新规范的兼容版本 WSE 就可提供更加灵活的 W b 服务安全 Web 性。
什么是WCF 如果没有WCF,应用程序可能要使用多种现有的 .NET Framework 技术 F k – Microsoft 消息队列 MSMQ。
的合作伙伴应用程序进行通信,这些应用程 – 用于与基于 Windows 的合作伙伴应用程序进行通信 这些应用程 序对数据传送、工作量分离以及应用程序生存期均要求有保证。
消息队列提供持久稳定的消息传送,这通常是间歇式连接的应用 程序的最佳解决方案。
程序的最佳解决方案 由于建立在 .NET Framework 之上,该汽车预定应用程序 NET 必须使用这些通信技术中的多种技术才能满足其要求。
尽 管这在技术上是可行的,但最终的应用程序实现起来将会 很复杂,而且维护起来也很困难。
什么是WCF 呼叫中心客户 Intranet 端应用程序 WCF 汽车预定程序 NET Framework .NET F k WCF 现有预定 .NET Framework NET 应用程序 J2EE应用程序服 务器 Internet 合作伙伴 应用程序 各种平台 WCF 就是针对这种繁杂却又切实存在的情况 而设计的,是公开和访问服务的 Windows 而设计的 是公开和访问服务的 Wi d 应用程序的首选技术什么是WCF 使用 WCF,该解决方案的实现就容易得多了。
如图中所示,WCF 可用于前述所有情况。
因此,租车预定应用程序使用这一种技术就可 可用于前述所有情况 因此 租车预定应用程序使用这一种技术就可 以实现其所有应用程序间的通信。
WCF 可使用 Web 服务进行通信,因此与同样支持 SOAP 的其他平 台(例如基于 J2EE 的主流应用程序服务器)间的互操作性就变得简 单明了。
还可以对 WCF 进行配置和扩展,以便与使用并非基于 SOAP 的消息 (例如像 RSS 这种简单的 XML 格式)的 Web 服务进行通信。
性能是大多数业务中至关重要的考虑事项。
开发 性能是大多数业务中至关重要的考虑事项 开发 WCF 的目标就是要 使之成为 Microsoft 所开发的速度最快的分布式应用程序平台之一。
什么是WCF 当通信双方都建立在 WCF 上时,为获得最理想的性能,本例中使用 信息集的一个优化的二进制版本。
的线上编码是 XML 信息集的一个优化的二进制版本 消息仍遵循 SOAP 消息的数据结构,但其编码使用该数据结构的二进制表示形式, 而不是 XML 1.0 文本编码的标准尖括号加文本格式。
使用此选项的 意义体现在与呼叫中心客户端应用程序的通信中 因为该应用程序也 意义体现在与呼叫中心客户端应用程序的通信中,因为该应用程序也 是建立在 WCF 上,并且性能是一个重要的考虑事项。
管理对象生存期、定义分布式事务以及企业服务的其他方面的功能现 在可以由 WCF 来提供。
任何基于 WCF 的应用程序都可以使用这些 功能 这意味着租车预定应用程序可以针对与之通信的任何其他应用 功能,这意味着租车预定应用程序可以针对与之通信的任何其他应用 程序使用这些功能。
WCF 支持一个大的 WS- 规范集,因此可在与同样支持这些规范的 任何其他平台进行通信时帮助提供可靠性、安全性和事务。
任 其他 台 帮 性 安全性 事务 建立在消息队列上的 WCF 排队消息选项使应用程序能够使用持久的 排队,而无需使用另外一组应用程序编程接口。
排队,而无需使用另外 组应用程序编程接口。
什么是WCF 提供统一的,可用于建立安全、可靠的面向服务的应用的高效开发平 台。
将 Web 服务的概念直接映射到 .NET Framework 公共语言运行库 CLR 中的对应内容,包括将消息灵活且可扩展地映射到用诸如 Visual C 或 Visual Basic 等语言实现的服务。
该服务模型提供支持 松散耦合和版本管理的序列化功能,并提供与诸如消息队列 MSMQ、 COM、
ASP.NET Web 服务、Web 服务增强 WSE 等现有 .NET Framework 分布式系统技术以及很多其他功能的集成和互操作性。
WCF是对现有技术的统WCF是对现有技术的统一 Windows Communication FoundationWCF设计目标 统一了现有的各种分布式技术 生产效率 基于属性(Attribute)的开发 基于属性 Attribute)的开发 基于属性( 与Visual Studio.NET 2005的无缝集成 2005的无缝集成 广泛地支持 WS-系列通用规范 广泛 支持 WS- 可交互性 与现有的微软分布式技术相兼容 使得编写松散耦合的服务变得容易 面向服务 面向 务 服务的行为及属性(如通讯方式)可以 的开发 通过配置来指定什么是WCF 全新的 Web Service 界面 属性化编程 ServiceContractServiceContractPublic interface IHelloService OperationContract OperationContract string Hellopublic class HelloService : IHelloService public string Hello return “Hello” 演示 1创建一个WCF服务WCF背景介绍 WCF WSE
ASP.NET ASP NET