为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

WCF简单介绍

2012-08-06 30页 ppt 889KB 30阅读

用户头像

is_790294

暂无简介

举报
WCF简单介绍nullnull培训模块画面设计关于WCF的简单应用介绍2010-05-29null1.简介WCF是Windows Communication Foundation 的缩写,它是MS为SOA (Service Oriented Architecture)战略而设计的一套完整的技术框架。它是一种统一的编程模型,用来为微软平台编写分布式(Distributed)应用。涵盖了之前出现的多种技术,如ASMX,Remoting,MSMQ等等。 有哪些优点: 1.整合了多项技术,是MS SOA产品的集大成者。 2.更为简单易用。(它囊括...
WCF简单介绍
nullnull培训模块画面设计关于WCF的简单应用介绍2010-05-29null1.简介WCF是Windows Communication Foundation 的缩写,它是MS为SOA (Service Oriented Architecture)战略而设计的一套完整的技术框架。它是一种统一的编程模型,用来为微软平台编写分布式(Distributed)应用。涵盖了之前出现的多种技术,如ASMX,Remoting,MSMQ等等。 有哪些优点: 1.整合了多项技术,是MS SOA产品的集大成者。 2.更为简单易用。(它囊括了关于服务的一切,无论是服务的创建,托管,消费 和安全保障,还是保护与互通,甚至是提高开发效率) 3.包含了 其他技术的所有优点(统一性,互操作性,可靠性,兼容性)null1.1.客户端与服务的基本关系WCF客户端 WCF服务端 端点端点请求响应服务是一组向客户端提供可用功能的端点(Endpoints)。而端点(终结点)则是网络上的一个能将消息送达的资源。客户端按照与服务之间的契约(Contract)来格式化消息,并将消息发送给端点来访问端点的功能。服务在端点指定的地址(Address)上监听具有特定格式的送达消息。客户端与服务之间的基本关系:nullWCF客户端 端点 WCF服务端 … 端点 1.2.服务的三要素(ABC)A:Address 意味着在哪里(也含有传输方式信息) B:Binding 意味着怎么做(与地址的传输方式要匹配) C:Contract意味着做什么(服务契约) 端点 ABCABCABC端点 ABC通信nullWCF中的地址Http(basic,WS*) Tcp Peer netWork(对等网) IPC(基于命名管道的内部进程通信) MSMQWCF1.0支持的传输样式:基地址(baseAddress): 可以理解为地址的前缀,如果地址与基地址一样,则地址使用””即可null元数据交换WCF有两种方式可以发布自己的元数据: 1.基于HTTP-GET提供元数据 2.使用MEX终结点作用:将服务的功能发布,以便浏览与引用nullWCF体系架构 服务 代理通道通道传输 通道传输 通道通道通道分发器客户端MEX终结点业务终结点null1.2.1契约(Contract)a).服务契约(SerciceContract) 公布服务的功能。操作契约( OperationContract )则负责在方法级别公开。 b).数据契约(DataContract) 对传递的类对象进行XSD(XML Schema Definitions)定义,以便对其成员进行序列化。 c).消息契约(MessageContract) 自定义消息格式,包括消息头,消息体,还能指示是否对消息内容进行加密和签名。 d).错误契约(FaultContract) 自定义错误异常的处理方式。 null1.2.2绑定(Binding)绑定: 就是预先配置好的信道栈,它代表了客户端和服务器之间线路级别上的约定。每个绑定都会指定通信所用的传输、编码及协议。通过绑定,WCF封装了各种不同通信场所下所使用的配置。null绑定的组成:Name,Namespace,BindingElementBindElement: a)消息编码绑定元素(Message Encoding Binding Element) b)传输绑定元素(Transport Binding Element) c)协议绑定元素(Protocal Element): 主要是包含设置事务流控制,安全,会话,排序,升级/帮助器等信息null主要的系统内置绑定:null系统绑定支持的功能:null性能比较:Get256Bytes50000次 平均响应时间(单位:ms) 值小者为佳null1.3信道与信道栈(Channel)信道模型 a)请求响应模式(Request/Reply) 客户端发送请求后,必须等待回应。 1)同步—请求响应模式 2)异步—请求响应模式 b)单向通信模型(Oneway) 客户端发送请求后,无需等待服务器回复,只需得到一个通知来确认消息已经成功发送即可 b)双工通信(Duplex) 通信双方都是客户端和服务器,双方都可以发送请求并回复消息。信道:就是WCF应用程序之间传送消息的通道,它负责以一种一致的方式对消息进行整理和传送。信道被用于传输层,协议层及消息解惑。 信道栈:所有各层次的信道一起,组成了信道栈。信道栈就是一个层次的通信栈,专门用于处理消息。 主要包括:传输信道、协议信道null1.4行为(Behavior)1.4.1行为的分类 a)服务行为 运行于服务级别,能访问所有的端点。主要控制实例化与事务,还用于授权和审计。 b)端点行为 涉及服务端点,适用于对进出服务的消息进行审查和处理。(消息跟踪器) c)操作行为 涉及操作级别,对于服务操作而说,他们适用于序列化、事务流和参数处理。(参数检验器)null并发与实例化吞吐量(Throughput) = 任务(Tasks)/时间(Time) 如何提高吞吐量? 1.减少执行时间 主要依靠硬件和优化算法 2.提高并发 并发(Concurrency) 是对同时执行的任务数量的度量,度量单位为任务(如请求、作业、事务等)null并发与实例化WCF中控制并发的行为 1.实例上下文模式(InstanceContextMode) a)Single:一个服务类的实例处理所有入站请求,这实现为单例(Singleton). b)PerCall:为每个入站请求创建一个服务类的实例。 c)PerSession:为每个客户端会话创建一个服务类的实例。(默认方式) 2.并发模式(ConcurrencyMode) a)Single:在同一时刻只有一个线程访问服务类,这是最安全的设置,因为不用担心线程安全问题。 b)Reentrant:在同一时刻只有一个线程访问类,但该线程能暂时离开服务类,稍后回来并继续访问。 c)Multiple:多个线程能并发访问服务类null1.5托管服务并不能单独存在,必须寄存在宿主中。服务宿主(Service host)是一个负责WCF服务的生命周期(LiftTime)和上下文(Context)的操作系统进程。负责启动和停止WCF服务,并提供了一些控制服务的基本管理功能。 托管的方式: 1.控制台程序/WINDOWS程序(自托管) 优点:开发简单 缺点:在项目中应用并不常见,通常只用在测试阶段 2.IIS 优点:宿主进程可以在客户端提交第一次请求的时候自动启动,还可以借助IIS管理宿主进程的生命周期。 缺点:只能支持HTTP协议。 basicHttpBinding wsHttpBinding wsDualHttpBinding 3.Windows服务(自托管) 优点:随系统一同启动 nullIIS托管浏览元数据效果图null1.6客户端客户端引用服务的方法: 1.使用svcutil.exe工具(生成ServiceBase) 2.使用 Add Service Reference(控制台程序中没有) (生成ServiceBase) 3.使用信道工厂channelFactory或channelFactory 4. 手工建立(手工添加继承ServiceBase)客户端需要哪些文件: 1.契约接口 2.配置文件(非必须,可编码实现同样功能) 3.数据契约实现的类与系统支持的数据类型null2.服务的建立建立步骤:(需引用System.ServiceModel.dll) a).建立契约接口 b).继承契约接口建立服务 c).托管服务 d).建立客户端程序 建立方式: a).完全使用代码 b).使用代码+配置文件(app.config/web.config) null服务的功能->提供查询某一种商品的最新报价的功能 2.1建立一个简单的服务a)建立服务契约 注意: 需要引用System.ServiceModel.dll 添加[ServiceContract]与[OperationContract]特性 null2.1建立一个简单的服务b)继承服务契约建立服务 注意: 需要引用System.ServiceModel.dll 引用服务契约所在的dllnull2.1建立一个简单的服务c)建立托管控制台程序 注意: 需要引用System.ServiceModel.dll 引用服务契约所在的dll 引用服务所在的dllnull2.1建立一个简单的服务d)建立客户端程序 注意: 需要引用System.ServiceModel.dll 引用服务契约所在的dll (这里建立的方式是:信道工厂)null2.1建立一个简单的服务e)运行程序null2.2复杂的范例服务的功能->提供获取大量货品档案的功能(150000条记录) 原有方式:一次性取得数据,容易导致系统假死预计处理方法:使用多线程,每个线程取得小部分数据后,统一Merge()到数据集中。null2.2其他范例2.2.1)IIS托管 2.2.2)服务实例模式 2.2.3)自动更新客户端信息 2.2.4)网络象棋null3.其他介绍数据契约 消息契约 序列化与编码 可靠传输 事务 安全 MSMQ绑定 诊断 对等网络 负载平衡 null培训模块画面设计Q&A谢谢!
/
本文档为【WCF简单介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索