倘我们而下WCF实现SOA解决方案。如果一味是愿意会以类型受到合理地应用WCF

学学WCF已发守两年的岁月,其间又译了Juval的墨宝《Programming WCF
Services》,我仍认为WCF还有更多之始末值得深究和挖。学得越来越多,反而更加认为好所知太少,直到现在,我哉看好而大凡初窥WCF的不二法门而已。

http://www.rainsts.net/article.asp?id=426

“学以致用”,如果只有是冀能够在列蒙客观地使WCF,那么对于程序员而言,可以起星星点点栽选择,一种植是“知其然而不知其所以然”,只要掌握了WCF的基础知识,那么对于一般的下即足足了。要做到及时无异触及便特别容易了,微软采纳了固定的章程,将WCF这门技术优雅地展现给开发者,封装了复杂的兑现逻辑,提供了爱调用的类库和有关的家伙,使得开发者能够迅速地成功WCF程序的支付。另外一种办法自就是深浅挖掘WCF的内部贯彻了,这是本着WCF专家提出的渴求。如果我们而动用WCF实现SOA解决方案,就会被重重WCF的尖端应用,如何客观、有效地行使WCF,并根据项目其实情况对WCF进行扩张,就成了WCF专家必须解决之难题。

学习WCF业已出接近两年之时,其间又译了Juval的佳作《Programming WCF
Services》,我还当WCF还有复多之情节值得探讨及挖。学得更其多,反而越来越觉得自己所知道太少,直到现在,我耶道自己不过大凡初窥WCF的路径而已。

为此,如果如修WCF,你不能不找准自己学习的想法与对象,然后合理地布局自己之读进度表,这才是无可非议的学道。本文拟对WCF的一些基础概念发一些试探性的阐述与析,并以问答的法子组织,希望能有解答一些愿意学WCF,但还自徘徊在门外的开发者。

学以致用”,如果只是是冀能够在路面临客观地行使WCF,那么对程序员而言,可以发个别栽选择,一种植是“知其然而不知其所以然”,只要掌握了WCF的基础知识,那么对于一般的利用就是足足了。要水到渠成这等同触及便怪容易了,微软采纳了一贯的法门,将WCF这宗技术优雅地表现于开发者,封装了复杂的实现逻辑,提供了善调用的类库和血脉相通的工具,使得开发者能够快地好WCF程序的开发。另外一栽方法自然就是是深度挖掘WCF的中贯彻了,这是对WCF专家提出的求。如果我们设运用WCF实现SOA解决方案,就会见遭重重WCF的高档应用,如何客观、有效地采取WCF,并因项目实际情形对WCF进行扩张,就改为了WCF专家必须解决的难题。

1、WCF是什么?

从而,如果要是学WCF,你必须找准自己上的心思以及对象,然后合理地配置协调之就学进度表,这才是没错的读方式。本文拟对WCF的部分基础概念发一些试探性的阐发与析,并为问答的办法组织,希望能够有解答一些冀学WCF,但都自徘徊在门外之开发者。

于WCF所处的职来拘禁,它是含有在.NET 3.0(也包括.NET
3.5)之中的。我们注意比较.NET 3.0跟.NET 2.0,其实唯一的别就是是.NET
3.0分包了WCF、WPF、WF(或者还有CardSpace)而已。因此,我们看WCF是.NET框架的等同有些,似乎并不为过。尤为关键的凡,WCF并无能够脱离.NET框架而单独在(但非WCF客户端好调用WCF服务),因此,虽然WCF是微软用来应本着SOA解决方案的出需要要特别产的,但它们并无是诸如Spring、Struts那样的框架,也非是如EJB那样的器皿或者服务器。微软委适合SOA企业应用服务器角色的,我思应该是Biztalk
Server。

1、WCF是什么?

严的说,WCF就是专门用于服务定制、发布与运作和消息传递和拍卖的相同组专门类的集合,也就是是所谓的“类库”。这些近似经过自然艺术叫集体起,共同协作,并为开发者提供了一个联之编程模式。WCF之所以特殊,是在于它所应的气象以及平常的.NET类库不同,它主要用于拍卖过程中乃至于机器里信息之传递与处理,同时其引入了SOA的统筹思想,以服务之章程发布并运行,以有益客户端跨进程以及机具对劳务进行调用。实际上,WCF就是微软对分布式处理的编程技术的集大成者,它将DCOM、Remoting、Web
Service、WSE、MSMQ集成以同步,从而降低了分布式系统开发者的求学曲线,并统一了支出规范。

于WCF所处的位置来拘禁,它是带有在.NET 3.0(也包括.NET
3.5)之中的。我们注意比较.NET 3.0同.NET 2.0,其实唯一的别就是是.NET
3.0包含了WCF、WPF、WF(或者还有CardSpace)而已。因此,我们觉得WCF是.NET框架的一律组成部分,似乎并不为过。尤为重大的凡,WCF并无可知脱离.NET框架而独自在(但非WCF客户端好调用WCF服务),因此,虽然WCF是微软用来应本着SOA解决方案的开支需要要特意生产的,但她并无是像Spring、Struts那样的框架,也未是比如说EJB那样的容器或者服务器。微软委符合SOA企业应用服务器角色的,我思当是Biztalk
Server。

WCF与外类库还有不同之地方,则在于WCF充分地反映了运行时环境之定义。对于前期采取WCF的开发人员而言,就可能知道要当.NET
2.0下而开发WCF,还需要特地下载一个Runtime Component
3.0本子,其中便隐含了WCF、WF等内容。在.NET中定位是所谓“宿主”的定义,整个.NET
Framework(或者说是CLR)就好看是一个颇之宿主,就像Java的虚拟机一样。由于WCF对劳动具有特别的需,对于服务端,需要发布和运行服务;对于客户端,则需调用服务;因而对开发者,就得编制定义、发布、运行、调用服务之有关代码。而服务就是不得不运行于一定的宿主上,这些宿主可以是控制台应用程序进程、Windows或Web应用程序进程,也可是Windows服务过程,或者为无限常用之IIS宿主。在宿主内部,则封装了大路堆栈,其中以含有了针对商、编码、消息传、代理的拍卖。而于通道层的顶部,还提供了一个高档运行时,以对应用程序的开发人员。

从严的游说,WCF就是专程用来服务定制、发布和运行与消息传递和拍卖的等同组特别类的集纳,也就是是所谓的“类库”。这些类似经过一定艺术为集团起,共同合作,并为开发者提供了一个联结之编程模式。WCF之所以特殊,是在其所报之光景以及日常的.NET类库不同,它要用来拍卖进程之中乃至于机器中信息的传递和处理,同时她引入了SOA的宏图思想,以劳动的道发布并运行,以方便客户端跨进程和机具对劳务拓展调用。实际上,WCF就是微软对分布式处理的编程技术的集大成者,它用DCOM、Remoting、Web
Service、WSE、MSMQ集成在共同,从而降低了分布式系统开发者的读书曲线,并联合了出规范。

之所以,我们可以如此看,WCF是.NET Framework
3.x的一律有,它含了用来服务定制、发布和运行及消息传递和处理的运行时环境和相关类的会师,它提供了以Windows平台下开以及部署服务的SDK。大致组成如下图所示:

WCF与任何类库还有不同之地方,则在于WCF充分地反映了运行时环境之定义。对于首采取WCF的开发人员而言,就可能理解要在.NET
2.0下而出WCF,还需要专门下载一个Runtime Component
3.0本子,其中便包含了WCF、WF等内容。在.NET中一定是所谓“宿主”的定义,整个.NET
Framework(或者说是CLR)就好认为是一个充分的宿主,就如Java的虚拟机一样。由于WCF对劳务具有特别的需要,对于服务端,需要发布与运行服务;对于客户端,则要调用服务;因而对开发者,就得编制定义、发布、运行、调用服务的连锁代码。而服务就不得不运行于一定的宿主上,这些宿主可以是控制台应用程序进程、Windows或Web应用程序进程,也得以是Windows服务过程,或者为无限常用之IIS宿主。在宿主内部,则封装了大路堆栈,其中又富含了针对性商、编码、消息传、代理的拍卖。而于通道层的顶部,还提供了一个高档运行时,以对应用程序的开发人员。

图片 1 

用,我们可以这么看,WCF是.NET Framework
3.x底如出一辙局部,它蕴含了用来服务定制、发布暨运行及消息传递和处理的周转时环境和相关类的集合,它提供了于Windows平台下开发与布置服务之SDK。大致组成如下图所示:

2、WCF是何许运行的?

图片 2

如从本的角度来分析WCF的运行机制,它的兑现并无复杂。WCF的网架构是冲相同种拦截机制来实现的,负责传递和阻止消息之组件为坦途,在客户端有对服务端服务之调用时,首先会见由此一个服务代办对象,将调用方提供的靶子序列化到信息中,然后该信息则经过通道进行传递。通道不只是是概括一个,而是多独通道对信息进行处理,包括传输、消息编码、管理会话、传播工作等,但最底部的坦途总是传输通道。这些通道的重组形成了一个通路堆栈。由于目标已经被序列化,因而此时通道传递的音讯可以超过进程要机器进行传递,利用传输通道传递到服务端。服务端的组成和客户端基本相似,仍然是经过通道栈中尽底部的传输通道接收信息,然后解析消息编码,并同样少有地于上传。在服务端的通道栈之上,则是一个分发器(Dispatcher,或者说是调度器),它会率先针对信息进行自我批评,然后选择一个客户端要调用的操作。在斯历程遭到,消息会给反序列化。

2、WCF是如何运行的?

下图说明了WCF的全方位运行过程:

如从宏观的角度来分析WCF的运行机制,它的兑现并无复杂。WCF的体系架构是依据相同栽拦截机制来贯彻的,负责传递与阻碍消息之零件为坦途,在客户端起针对服务端服务之调用时,首先会通过一个服务代办对象,将调用方提供的靶子序列化到信息遭到,然后该消息虽然通过通道进行传递。通道不一味是连一个,而是多单通道对信息进行处理,包括传输、消息编码、管理会话、传播工作等,但顶底部的坦途总是传输通道。这些通道的组合形成了一个通道堆栈。由于目标都为序列化,因而此时通道传递的信息可以过进程或机器进行传递,利用传输通道传递及服务端。服务端的结和客户端基本相似,仍然是经过通道栈中极其底部的传导通道接收信息,然后解析消息编码,并同样难得地于上传。在服务端的通道栈之上,则是一个分发器(Dispatcher,或者说是调度器),它见面率先对信息进行检查,然后择一个客户端要调用的操作。在是过程被,消息会吃反序列化。

图片 3 

下图说明了WCF的通运行过程:
图片 4

鉴于WCF通过通道的办法传送信息,整个通道同时肩负了侦听器和拦截器的功用,它好依据服务的定义,在方式执行的前面要后行不一之操作,例如事务、会话管理、安全等。这些操作以WCF中,大多数还可以以Attribute的道使至服务契约上,这样的落实方式,就类似于用了AOP(面向服务编程)的艺术为劳动提供了大气之根底意义,有助于简化服务开发者的工作。

是因为WCF通过通道的法门传送信息,整个通道同时承担了侦听器和拦截器的作用,它好依据劳动的定义,在方式执行之眼前或后执行不同的操作,例如事务、会话管理、安全等。这些操作以WCF中,大多数都得以为Attribute的方式以到服务契约上,这样的实现方式,就恍如于以了AOP(面向服务编程)的点子为劳动提供了大气之根基意义,有助于简化服务开发者的行事。

3、为什么咱们设选用WCF?
当Windows平台下,尤其是在.NET平台下开发面向服务的应用程序,或者出分布式系统,最佳选项虽是WCF。为什么吗?原因就是在WCF涵盖了事先微软出的保有用于分布式开发之技术,包括Remoting、Web
Services、WSE、MSMQ等,并因同样栽统一之编程模式来实现。

3、为什么咱们如果选用WCF?
当Windows平台下,尤其是在.NET平台下支付面向服务之应用程序,或者开发分布式系统,最佳选择就是WCF。为什么吧?原因就在WCF涵盖了事先微软生产的富有用于分布式开发之技艺,包括Remoting、Web
Services、WSE、MSMQ等,并因为相同种植统一之编程模式来实现。

WCF既支持具有互操作性的Web服务,也克实现.NET客户端和.NET服务端的通信,提供了分布式事务的支持,同时以安全性及,它了以了WS-*的正规,此外,它还支持排服务,可以好便宜地动用信息队列完成异步操作与脱机调用。而这些力量,以前的技术还不过是一些的落实。如下表所示:

WCF既支持具有互操作性的Web服务,也克落实.NET客户端与.NET服务端的通信,提供了分布式事务之支撑,同时以安全性上,它完全以了WS-*的规范,此外,它还支持排服务,可以十分便利地用信息队列完成异步操作以及脱机调用。而这些力量,以前的技术都不过是片的贯彻。如下表所示:

特性

Web Service

.NET Remoting

Enterprise Services

WSE

MSMQ

WCF

具有互操作性的Web服务

支持

 

 

 

 

支持

.NET到.NET的通信

 

支持

 

 

 

支持

分布式事务

 

 

支持

 

 

支持

支持WS标准

 

 

 

支持

 

支持

消息队列

 

 

 

 

支持

支持

特性

Web Service

.NET Remoting

Enterprise Services

WSE

MSMQ

WCF

具有互操作性的Web服务

支持

支持

.NET到.NET的通信

支持

支持

分布式事务

支持

支持

支持WS标准

支持

支持

消息队列

支持

支持

WCF同时为使得面向服务编程更加简明而统一了。如果利用旧有的技巧,由于各种技能之编程模型完全不平等,使得程序的搬非常之诸多不便。例如,最初采用.NET
Remoting技术开发的分布式系统,由于作业需要的变,要求宣告有互操作性的Web服务,就得还定义服务。并且,客户端的调用方式啊发生了变化,需要续加Web引用,通过UDDI去发现服务。

WCF同时也让面向服务编程更加简明而统一了。如果采取旧有的技巧,由于各种技术的编程模型完全无同等,使得程序的搬迁非常的艰苦。例如,最初采用.NET
Remoting技术开发的分布式系统,由于作业需要的变化,要求公布有互操作性的Web服务,就得再次定义服务。并且,客户端的调用方式呢闹了变更,需要补充加Web引用,通过UDDI去发现服务。

运用WCF则不然。WCF引入了所以通道,它包裹了音讯之通信细节,例如编码、事务处理、安全等,然后又通过引入绑定的定义,封装了大路的做顺序及处理细节。最后,引入了独有的Endpoint元素,集成了地方、绑定和契约之间的“三位一体”,以最简易的法定义和公布服务。

采用WCF则不然。WCF引入了用通道,它包裹了消息的通信细节,例如编码、事务处理、安全等,然后以经过引入绑定的定义,封装了大路的成顺序和拍卖细节。最后,引入了独有的Endpoint元素,集成了地方、绑定和契约之间的“三位一体”,以无比简便的章程定义跟揭示服务。

4、WCF基础之技艺因素有怎样?

每种绑定对承诺不同之传输协议、消息编码格式和本子与安全、可靠性与事情模式。WCF也供了扩大绑定的方法,例如通过CustomBinding或者定义派生与Binding的近乎。

WCF的绝大多数作用都在一个单身的顺序集System.ServiceModel.dll中。WCF的几个最好要之技能因素包括:绑定、契约、端点。

WCF的契约包括服务契约、数据契约以及信契约(特别的,还包了错契约,用于深的拍卖)。其中服务契约为面向服务应用程序的骨干,通过它们可定义服务。数据契约则为服务所要传送的数。由于服务的调用需要跨越进程或机器进行通信,就需劳务数量要能够为序列化和反序列化。虽然.NET本身提供了数据的序列化功能,但WCF的多寡契约更加契合服务多少的概念习惯。至于消息契约,则可以以劳动数据定义也信,包括XML文本格式、MTOM(消息传优化机制)格式和亚前进制格式。

如前所述,绑定封装了大路的做顺序及处理细节,它一直控制了WCF的通信方式,消息之编码方式,通道的说道,消息传递的可靠性以及安全等内容。通过应用绑定,我们就管需了解信息在WCF通道中的贯彻细节,从而简化程序员的开。正是以这个,WCF为开发人员提供了大多只放置绑定,基本上涵盖了WCF应用的大部场面。以下是Aaron
Skonnard在《WCF深度绑定》一文遭遇罗列的放权绑定:

绑定(Binding)、契约(Contract)与劳动之地址(Address)组合在一起,则多变了终结点(Endpoint),如下图所示:

绑定类名称

传输

消息编码

消息版本

安全模式

可靠消息传送

事务流(默认情况下禁用)

BasicHttpBinding

HTTP

文本

SOAP 1.1

不支持

不支持

WSHttpBinding

HTTP

文本

SOAP 1.2 WS-Addressing 1.0

消息

禁用

WS-AtomicTransactions

WSDualHttpBinding

HTTP

文本

SOAP 1.2 WS-Addressing 1.0

消息

启用

WS-AtomicTransactions

WSFederationHttpBinding

HTTP

文本

SOAP 1.2 WS-Addressing 1.0

消息

禁用

WS-AtomicTransactions

NetTcpBinding

TCP

二进制

SOAP 1.2

传输

禁用

OleTransactions

NetPeerTcpBinding

P2P

二进制

SOAP 1.2

传输

不支持

不支持

NetNamedPipesBinding

命名管道

二进制

SOAP 1.2

传输

不支持

OleTransactions

NetMsmqBinding

MSMQ

二进制

SOAP 1.2

消息

不支持

不支持

MsmqIntegrationBinding

MSMQ

不支持(使用 WCF 之前的序列化格式)

不支持

传输

不支持

不支持

CustomBinding

您决定

您决定

您决定

您决定

您决定

您决定

图片 5

每种绑定对承诺不同之传导协议、消息编码格式和本子与安全、可靠性与工作模式。WCF也提供了扩大绑定的艺术,例如通过CustomBinding或者定义派生与Binding的类。

Address是Endpoint的网络地址,它标志了信息发送的目的地。Binding描述的凡哪些发送信息,例如消息发送的传输协议(如TCP,HTTP),安全(如SSL,SOAP消息安全)。Contract则描述的是信所蕴含的情,以及消息之社以及操作方法,例如是单独为,双向还是要/响应措施。

WCF的契约包括服务契约、数据契约和消息契约(特别的,还连了错契约,用于深的拍卖)。其中服务契约为面向服务应用程序的基本,通过它好定义服务。数据契约则也服务所要传送的数。由于劳动的调用需要跨越进程要机器进行通信,就需要服务数据必须能够让序列化和倒序列化。虽然.NET本身提供了多少的序列化功能,但WCF的数据契约更加契合服务数据的定义习惯。至于消息契约,则足以用服务多少定义也信息,包括XML文本格式、MTOM(消息传优化机制)格式和第二进制格式。

引入终结点可以说凡是WCF的一个高大创举,通过它们叫我们能够更加容易的披露和管理服务,尤其是发布暨管制大多独服务。每个服务必须至少存有一个终结点,而客户端正是通过终结点知道服务的系信息,例如地方、消息编码格式、传输协议和劳动的始末,然后于拓展不易的调用。最特别的凡,同一个劳动得定义多只终结点,每个终结点可以是差的地方、不同之绑定方式,以便让满足多单客户端的两样得。而对服务之发布者而言,我们仅需要管理终结点的配置,就得得对劳动之田间管理,这为为劳动的托管提供了方便。

绑定(Binding)、契约(Contract)与劳务的地方(Address)组合在一起,则形成了终结点(Endpoint),如下图所示:

5、WCF主要涵盖哪些内容?

图片 6 

Juval的《Programming WCF
Services》一书写基本就包含了WCF技术之全。概括来讲,主要概括绑定、服务契约、数据契约、消息传递、异常处理、实例模式、并作处理、事务处理、安全暨队列服务等。

Address是Endpoint的网络地址,它标志了音发送的目的地。Binding描述的凡怎样发送信息,例如消息发送的传协议(如TCP,HTTP),安全(如SSL,SOAP消息安全)。Contract则描述的是信息所含有的内容,以及信息之团队及操作方式,例如是只为,双向还是要/响应措施。

绑定属于WCF基本的技能因素,是WCF进行通信处理的底子。了解绑定的连带文化,有助于开发WCF应用程序。因为在不同的政工需求下,可能对通信方式、协议、消息编码等大多独点会时有发生异之渴求。在配制、发布和运转服务经常,都用对绑定进行操作。因而,我们不能不控制WCF内置绑定的系属性,熟悉绑定元素的相关部署。此外,在有些高级应用上,我们还要控制打定义绑定的方法,了解在从定义绑定时,添加绑定元素的办法以及各个,了解Binding基类的相关属性和方。以及跟绑定配置相关的近乎。

引入终结点可以说凡是WCF的一个了不起创举,通过它们叫我们能更进一步爱的揭示和管理服务,尤其是宣布暨管制大多独服务。每个服务要至少存有一个终结点,而客户端正是通过终结点知道服务之连带信息,例如地方、消息编码格式、传输协议及劳动之始末,然后以进行不易的调用。最特别的是,同一个服务得定义多独终结点,每个终结点可以是例外之地点、不同之绑定方式,以便让满足多只客户端的两样得。而于服务的发布者而言,我们唯有待管住终结点的配置,就好得对劳务的田间管理,这吗也服务之托管提供了便于。

服务契约是WCF的要处理目标,服务的定义跟设置正是经过劳务契约实现之。除了了解ServiceContract和OperationContract的基础运用之外,还用比较WCF服务编程与一般的.NET编程之间的分,例如服务之后续和多态是哪些实现的。最着重之是什么样根据SOA的思考划分服务的界线,确定服务之粒度大小,这得打系统的易用性、可扩展性、性能相当多个点进行衡量。

5、WCF主要涵盖哪些内容?

劳动契约中有关操作的概念要面临许多羁绊,其中最紧要之就算是指向数据的拍卖,这吗是WCF引入数契约的目的。由于WCF的特殊性,因而我们用了解部分非常数据类型的序列化方式,例如泛型类型、集合、DataSet等。

Juval的《Programming WCF
Services》一题基本已经包含了WCF技术的总体。概括来讲,主要包括绑定、服务契约、数据契约、消息传递、异常处理、实例模式、并作处理、事务处理、安全以及队列服务等。

律服务操作定义的还包针对特别的处理,WCF对充分出同样模仿特种的处理方式,可以依据实际的场面,确定那个信息是否用展开通信,以及出现异常时,是否要求停止服务实例,或累保障会话。

绑定属于WCF基本的技巧因素,是WCF进行通信处理的基础。了解绑定的有关知识,有助于开发WCF应用程序。因为于不同之事务要求下,可能针对通信方式、协议、消息编码等多单方面会产生差之渴求。在配制、发布暨运作服务经常,都待对绑定进行操作。因而,我们须控制WCF内置绑定的系属性,熟悉绑定元素的相关部署。此外,在一部分高档应用上,我们还要控制打定义绑定的措施,了解在由定义绑定时,添加绑定元素的不二法门及各个,了解Binding基类的系属性与道。以及和绑定配置相关的切近。

WCF为消息传递提供了颇好之灵活性。它提供了特别的Message类以及有关的读写器,例如XmlDictionaryReader和XmlDictionaryWriter等对信息进行读写,这间包含了针对信息版本、编码格式、消息标头和正文等之操作。同时,WCF还提供了音信和办法中的投射。在供系统的互操作性时,了解WCF的消息传递方式充分有必不可少。

劳务契约是WCF的第一处理对象,服务之概念和装置正是经过服务契约实现的。除了了解ServiceContract和OperationContract的基本功运用之外,还得比WCF服务编程与普通的.NET编程之间的分别,例如服务的持续和多态是怎贯彻之。最关键的凡何等根据SOA的思辨划分服务之分界,确定服务的粒度大小,这得从网的易用性、可扩展性、性能相当于大多单方面进行衡量。

依据不同的要求,WCF将实例模式分为PerCall,Single和PerSession三种植方式。通过安装服务行为的InstanceContextMode属性,来治本服务实例的生活周期,可以简化开发人员之做事。我们只有待了解这三栽实例模式之性状即可。通常状态下,我建议服务应用PerCall模式,如果欲保障服务与客户端里的对话,则可以使用PerSession模式。只有当对性与可伸缩性没有太怪求的事态下,才方可采用Single模式。

服务契约中有关操作的概念要中广大绳,其中最根本之就是本着数码的拍卖,这为是WCF引入数契约的目的。由于WCF的特殊性,因而我们需要了解有不同寻常数据类型的序列化方式,例如泛型类型、集合、DataSet等。

关于事务处理、并作处理与安全,主要还是透过相关的劳务作为进行设置与管理。这些内容还是WCF高级应用所必需掌握的始末,尤其对于开发公司级应用体系而言。至于队列服务,主要是采用了消息队列,以促成系统可脱机访问服务,并维持服务状态的一路。

约服务操作定义的尚连对生的拍卖,WCF对大来同等模拟特种之处理方式,可以因实际的景,确定异常信息是否要开展通信,以及出现异常时,是否要求已服务实例,或接续保持会话。

6、WCF主用适用于如何应用场景?

WCF为消息传递提供了特别可怜的八面玲珑。它提供了特别的Message类以及有关的读写器,例如XmlDictionaryReader和XmlDictionaryWriter等对信息进行读写,这间包含了对信息版本、编码格式、消息标头和正文等之操作。同时,WCF还提供了信及艺术之间的投射。在供系统的互操作性时,了解WCF的消息传递方式特别有必不可少。

WCF本身就是微软为了对SOA战略所出的一致效基于.NET
Framework下之SDK。当我们于Windows平台下,基于.NET框架开发同模仿系统,同时要求立即套系统要与另外平台例如WebLogic、WebSphere或者JBoss进行交互时,就待以WCF技术了。这是因WCF的互操作性所主宰的。

依据不同之需求,WCF将实例模式分为PerCall,Single和PerSession三种植方式。通过设置服务行为的InstanceContextMode属性,来管理服务实例的生活周期,可以简化开发人员的工作。我们唯有待了解就三种实例模式的表征即可。通常情况下,我提议服务使PerCall模式,如果需要保持服务和客户端里的对话,则可采取PerSession模式。只有在针对性与可伸缩性没有尽特别求的情下,才足以利用Single模式。

目前来拘禁,WCF在企业应用中尚尚未获大量底利用,但随着开发者对.NET
3.x的入木三分了解,WCF会逐渐深入人心。由于WCF集成了.NET编程开发之惯,对于.NET开发人员而言,就大妈地下降了深造曲线,此外,WCF保留了针对性旧有技艺包括Web
Service、.NET
Remoting、MSMQ、WSE的支撑,同时对原有技巧及WCF的动迁也供了要命好的解决方案。因而,如果.NET人员如使利用SOA的化解方案,那么WCF无疑就是最佳选择。单以开要本,利用WCF定义服务、公开服务同运行服务,利用WF实现工作流的设计、运行和管理、利用WPF作为有着丰富表现的富客户端,或者经AJAX+SliverLight开发调用WCF服务之客户端,以及经过CardSpace完成对服务安全的装置及治本,就得实施一整套底SOA解决方案。同时,WCF还好结合Biztalk以及Sharepoint,使得SDK能够搭载于应用服务器之上,更老程度地满足企业应用的待。

有关事务处理、并作处理同安全,主要还是经有关的劳动作为进行安装及管制。这些内容还是WCF高级应用所必备掌握的内容,尤其对于开发企业级以体系而言。至于队列服务,主要是以了信息队列,以实现系统可以脱机访问服务,并保障服务状态的共同。

除开实行SOA解决方案外,WCF对于开发分布式系统而言,也是优质的。当我们的运体系要以多独服务器上运行不同服务,以支撑大量之访问负荷、大数据量处理、数据挖掘等工作经常,就好动用WCF开发不同之服务,然后托管在不同的服务器上,此时,整个体系即足以使得地应用服务器资源,减轻系统负荷。

6、WCF主用适用于怎样应用场景?

参考:
1、Juval Lowy著,张逸、徐宁译《WCF服务编程》
2、Aaron Skonnard,《WCF深度绑定》
3、Aaron Skonnard,《使用自定义行为扩展WCF》
4、Boris Lublinsky,《实现一个.NET Web Services服务注册中心》

WCF本身便是微软为了应对SOA战略所生产的同样学基于.NET
Framework下之SDK。当我们当Windows平台下,基于.NET框架开发同拟系统,同时要求这套系统要和任何平台例如WebLogic、WebSphere或者JBoss进行交互时,就用采用WCF技术了。这是坐WCF的互操作性所控制的。

脚下来拘禁,WCF在企业应用中还不曾到手大量的行使,但随着开发者对.NET
3.x之中肯摸底,WCF会逐渐深入人心。由于WCF集成了.NET编程开发之惯,对于.NET开发人员而言,就大妈地降低了上学曲线,此外,WCF保留了针对旧有技术包括Web
Service、.NET
Remoting、MSMQ、WSE的支撑,同时对旧有技艺及WCF的搬迁也供了非常好之化解方案。因而,如果.NET人员只要一旦运SOA的缓解方案,那么WCF无疑就是最佳选项。单以开发使仍,利用WCF定义服务、公开服务以及运行服务,利用WF实现工作流的筹划、运行及治本、利用WPF作为所有丰富表现的富客户端,或者经过AJAX+SilverLight开发调用WCF服务之客户端,以及经CardSpace完成对劳务安全之安装以及治本,就足以实施一整套之SOA解决方案。同时,WCF还好结合Biztalk以及Sharepoint,使得SDK能够搭载于应用服务器之上,更怪程度地满足企业应用的得。

除外实行SOA解决方案外,WCF对于开发分布式系统而言,也是拔尖的。当我们的动体系要在多单服务器上运行不同服务,以支撑大量的拜会负荷、大数据量处理、数据挖掘等工作时,就得以WCF开发不同的劳动,然后托管在不同之服务器上,此时,整个系统便可以中地以服务器资源,减轻系统负荷。

参考:
1、Juval Lowy著,张逸、徐宁译《WCF服务编程》
2、Aaron Skonnard,《WCF深度绑定》
3、Aaron Skonnard,《使用从定义行为扩展WCF》
4、Boris Lublinsky,《实现一个.NET Web Services服务注册中心》

相关文章