欢迎来到天天文库
浏览记录
ID:50800328
大小:157.50 KB
页数:25页
时间:2020-03-14
《构建WCF面向服务的应用程序.ppt》由会员上传分享,免费在线阅读,更多相关内容在PPT专区-天天文库。
1、构建WCF面向服务的应用程序主讲人:李平WCF概念WCF是构建和运行ConnectedSystem的一些技术的总称,它是建立在WebServiceArchitecture上的一个全新的CommunicationInfrastructure。WCF为我们提供了Secure&Reliable的Messaging,也为我们提供了更好的Interoperability是的我们可以和其他的平台进行互操作。我们熟悉的技术包括EnterpriseService,.NETRemoting,XMLWebService,WSE,MSMQ等等,将不同的D
2、istributedTechnology整合起来,提供一个统一的ProgrammingModel是绝对有必要的,WCF就是基于这样的一个目的发展起来的。WCF在对这些技术进行整合的时候,始终有一个指导方针,那就是SOA。1.创建一个简单的WCF程序Contract:Interface接口,用来保存Contract(ServiceContact、MessageContract、DataContract), 之所以把Contract独立出来的原因是考虑到他同时被Server端——Service本身和ServiceHosting和Clie
3、nt端使用。Service:Service的业务逻辑,继承Contract。Hosting:用于以Self-Hosting的方式HostService。Client:用以模拟现实中的调用Service的Client。.localhost/WCFService:用于模拟如何把ServiceHost到IIS中DEMO2.EndpointOverviewAddress:Address通过一个URI唯一地标识一个Endpoint;Binding:Binding实现在Client和Service通信的所有底层细节;Contract:Contr
4、act的主要的作用是暴露某个WCFService所提供的所有有效的Functionality;Behavior:Behavior的主要作用是定制Endpoint在运行时的一些必要的Behavior3.在WCF中实现双向通信(Bi-directionalCommunication)注意:并发模式ConcurrencyMode设置为ConcurencyMode.Reentrant或者ConcurencyMode.Multiple;死锁(DeadLock)——CalculatorService必须等Callback操作完成之后才能执行后续
5、的操作,而Callback操作必须等待InstanceContext被解锁(Unlock)才能执行,然而InstanceContext却被CalculatorService锁住。DEMO4.WCF中的序列化(Serialization)Serialization可以看成是把包含相同内容的数据从一种结构(.NETObject)转换成另一种结构(XML)。如何通信?.NETObject通过Serialization转化成XMLInfoset。但是要使我们的数据能够通过网络协议在网络上传递,必须把生成的XMLInfoset转化成字节流(B
6、yteStream)。在WCF中,我们有3种不同的SerializerDataContractSerializerXMLSerializerNetDataContractSerializerDEMO5.面向服务架构(SOA)和面向对象编程(OOP)的结合——如何实现ServiceContract的重载(Overloading)1)传统的XMLWebService,Overloading是不被支持的。2)要Overloading在WCF中可以使用,WCF必须提供这样的一个Mapping——是被重载的具有相同方法的的方法Mapping到
7、不同的Operation上。而提供着一个功能的就是ServiceContract。DEMO6.WCF中的Session和InstancingManagement1)在WCF中,Session属于ServiceContract的范畴,是一个相对抽象的概念,并在ServiceContract定义中通过SessionModel参数来实现。.Session的创建和结束都有来自Client端的调用来实现.WCF保证处于某个Session中传递的Message按照他发送的次序被接收.WCF并没有为Session的支持而保存相关的状态数据。2)A
8、SP.NET中的Session.ASP.NET的Session总是在Server端初始化的。.ASP.NET并不提供OrderedMessageDelivery的担保。.ASP.NET是通过在Server以某种方式保存State来实现
此文档下载收益归作者所有