现在的开发语言那么多我们为什么就要选用WCF呢?它和别的技术好在哪,我现在就在使用WCF这门技术,我在这里就给大家分析一下WCF好处吧。在Windows平台下,尤其是在.NET平台下开发面向服务的应用程序,或者开发分布式系统,***选择就是WCF。为什么呢?
#T#原因就在于WCF涵盖了之前微软推出的所有用于分布式开发的技术,包括Remoting、Web Services、WSE、MSMQ等,并以一种统一的编程模式来实现。WCF好处:WCF既支持具有互操作性的Web服务,也能够实现.NET客户端与.NET服务端的通信,提供了分布式事务的支持,同时在安全性上,它完全遵循了WS-*的标准,此外,它还支持队列服务,可以非常方便地利用消息队列完成异步操作与脱机调用。而这些功能,以前的技术都只是部分的实现。如下表所示:
特性 |
Web Service |
.NET Remoting |
Enterprise Services |
WSE |
MSMQ |
WCF |
具有互操作性的Web服务 |
支持 |
|
|
|
|
支持 |
.NET到.NET的通信 |
|
支持 |
|
|
|
支持 |
分布式事务 |
|
|
支持 |
|
|
支持 |
支持WS标准 |
|
|
|
支持 |
|
支持 |
消息队列 |
|
|
|
|
支持 |
支持 |
WCF好处:WCF同时也使得面向服务编程更加简单而统一了。如果采用旧有的技术,由于各种技术的编程模型完全不一致,使得程序的迁移非常的困难。例如,最初采用.NET Remoting技术开发的分布式系统,由于业务需求的变化,要求发布具有互操作性的Web服务,就需要重新定义服务。并且,客户端的调用方式也发生了变化,需要添加Web引用,通过UDDI去发现服务。
采用WCF则不然。WCF引入了用通道,它封装了消息的通信细节,例如编码、事务处理、安全等,然后又通过引入绑定的概念,封装了通道的组成顺序与处理细节。***,引入了独有的Endpoint元素,集成了地址、绑定和契约之间的“三位一体”,以最简单的方式定义和发布服务。