wcf webservice asp.netWebservice 区别?

来源:互联网 发布:变量已被优化掉 编辑:程序博客网 时间:2024/06/05 18:12

WebService:严格来说是行业标准,也就是WebService规范,也称作WS-*规范,既不是框架,也不是技术。

它有一套完成的规范体系标准,而且在持续不断的更新完善中。

它使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键)。微软的Web服务实现称为ASP.NETWebService.它使用Soap简单对象访问协议来实现分布式环境里应用程序之间的数据交互。WSDL来实现服务接口相关的描述。此外Webservices可以注册到UDDI中心.供其客户查找使用。

后来微软做了ASP.NETWebService的安全,性能,数据加密、解密,托管宿主等多方面的扩展,称为WSE系列,这个是过度产品,最高到WSE3.0.后来就是WCF时代。

ASP.NET Web Service:微软提供了Web服务的开发框架,属于ASP.NETFramework的一部分,但是支持早起的WS规范。比如SOAP1.1。

WCF:WCF是一个分布式应用的开发框架,属于特定的技术,或者平台。既不是标准也不是规范。

WCF其实一定程度上就是ASP.NET Web Service,因为它支持WebService的行业标准和核心协议,因此ASP.NETWebService和WSE能做的事情,它几乎都能胜任,跨平台和语言更不是问题(数据也支持XML格式化,而且提供了自己的格式化器)。

但是WCF作为微软主推一个通讯组件或者平台,它的目标不仅仅是在支持和集成WebService,因为它还兼容和具备了微软早期很多技术的特性。

根据微软官方的解释,WCF(之前的版本名为“Indigo”)是使用托管代码建立和运行面向服务(ServiceOriented)应用程序的统一框架。它使得开发者能够建立一个跨平台的安全、可信赖、事务性的解决方案,且能与已有系统兼容协作。WCF是微软分布式应用程序开发的集大成者,它整合了.Net平台下所有的和分布式系统有关的技术,如EnterpriseSevices(COM+).NetRemoting、WebService(ASMX)、WSE3.0和MSMQ消息队列。以通信(Communiation)范围而论,它可以跨进程、跨机器、跨子网、企业网乃至于Internet;以宿主程序而论,可以以ASP.NET,EXE,WPF,WindowsForms,NTService,COM+作为宿主(Host)。WCF可以支持的协议包括TCP,HTTP,跨进程以及自定义,安全模式则包括SAML,Kerberos,X509,用户/密码,自定义等多种标准与模式。也就是说,在WCF框架下,开发基于SOA的分布式系统变得容易了,微软将所有与此相关的技术要素都包含在内,掌握了WCF,就相当于掌握了叩开SOA大门的钥匙。

如果你想对WCF学习系统化一些,必须向对如EnterpriseSevices(COM+).NetRemoting、WebService(ASMX)、WSE3.0和MSMQ消息队列也有个详细的认识的话,你可以看看我的博客,在此之前我对WCF学习相关的知识都系统的进行了整理。这个是文章目录:老徐的博客:文章目录。

还有一点就是,很多人对WCF学习感兴趣,当初我也是,直接奔WCF而来,其实在后来的学习中感觉吃力,因为WCF宣称的很多特性和优势,我们无法理解,更无法体会。文中提到了很多微软的早期技术如果都没有接触过,这些对比我们就无法有深刻的体会。

建议先从基础开始,然后在关注一些WCF较高级的应用或者概念,循序渐进。网上也有很多WCF学习的资料,等有了一定基础以后可以看看付中凯大哥的讲座,这个需要一定的基础。

原帖地址:http://social.microsoft.com/Forums/zh-CN/wcfzhchs/thread/c06420d1-69ba-4aa6-abe5-242e3213b68f

优点的话,只有你学习使用以后才有体会,等你开始学习了WCF你就会慢慢喜欢上它~很好的一个通信框架,这个是微软SOA重要的技术框架。Biztalk里发布和调用WCF服务很常见,它提供了丰富的适配器。你有兴趣可以了解一下。~

结论:不能哪一个技术框架和行业标准作比较,任何对于二者的比较都是错误的,因为两者根不不在同一个范畴里。就好比不能拿个汽车和交通法规比较一样。这是个误区。

WebService太旧了:框架都版本的差异,功能特性上却是有新旧之分,但是对于特定的系统,适合自己的就是最好的。
WebService就是ASP.NETWebService:同样不是一个范畴。前者规范,后者是框架
WCF比WebService性能好:不是一个范畴,
WCF比ASP.NETWebService快:不一定,需要特定的限制条件,WCF使用BasicHttpBinding的时候与ASP.NETWebService协议一样。
WCF比WebService速度快:同样概念不严格。
WCF比WebService强大:WCF却是集成了多种微软的分布式技术,但是这里应该严格说是:ASP.NETWebService
WCF比WebService安全:不严格。其次WCF也可以开发完全裸奔的应用程序。
WebService必将被WCF取代;WebService不会被WCF取代!
前者是一套广泛使用的规范。如果说WCF能取代的是ASP.NETWebService,因为二者都是.NET平台上的技术。

WCF其实就是WebService:WCF在某些情况下不遵守Web服务规范,也就是可以开发非服务性质的应用。而且不能简单等同。

WCF非常简单,其实没有什么:WCF虽然是个服务开发框架,但是如果你深入学习,会发现WCF架构的强大之处。单单是WCF安全这一块已经相当的复杂了。况且还要统一编程模型,兼容和支持许多早期的分布式技术。很多人轻易下这样的结论,一定是仅仅看了一些文章或书籍,不一定写过代码。高手不会这样武断地下结论。

原创粉丝点击