当前位置:  开发笔记 > 后端 > 正文

Web服务与WCF服务

如何解决《Web服务与WCF服务》经验,为你挑选了4个好方法。

他们之间有什么区别?

我什么时候选择一个而不是另一个?



1> nzpcmad..:

这个答案基于一篇不再存在的文章:

文章摘要:

"基本上,WCF是一个服务层,允许您构建可以使用各种通信机制进行通信的应用程序.通过它,您可以使用Peer to Peer,命名管道,Web服务等进行通信.

您无法比较它们,因为WCF是用于构建可互操作应用程序的框架.如果您愿意,可以将其视为SOA推动者.这是什么意思?

好吧,WCF符合ABC的要求,其中A是您要与之通信的服务的地址,B代表绑定,C代表合同.这很重要,因为可以在不必更改代码的情况下更改绑定.合同更加强大,因为它迫使合同与实施分离.这意味着合同是在一个接口中定义的,并且有一个具体的实现,消费者使用相同的合同理念绑定.数据模型被抽象出来."

......以后......

"当我们需要与其他通信技术(例如,Peer to Peer,命名管道)而不是Web服务进行通信时,应该使用WCF"


对于任何基于SOA方法的新项目,Developer应选择WCF over webservices.因为它为将来的使用提供了灵活性和可扩展性.只有一个例外:如果客户端不支持与wcf服务(即Flash AS2)的通信.
该链接不再有效.你能否更新链接?

2> 小智..:

从WCF和Web服务之间的区别是什么?

WCF是Microsoft所有早期Web服务技术的替代品.它的功能远远超过传统上被视为"Web服务"的功能.

WCF"Web服务"是通过WCF实现的更广泛的远程通信范围的一部分.与传统的ASMX相比,您将在WCF中获得更高程度的灵活性和可移植性,因为WCF是从头开始设计的,用于总结Microsoft提供的所有不同的分布式编程基础架构.WCF中的端点可以通过SOAP/XML与TCP /二进制文件一样轻松地进行通信,并且更改此介质只是一个配置文件mod.从理论上讲,这可以减少移植或更改业务需求,目标等所需的新代码量.

ASMX比WCF旧,ASMX可以执行的任何操作都可以是WCF(以及更多).基本上你可以看到WCF试图将所有不同的方式组合在一起,让两个应用程序在微软世界中进行通信; ASMX只是众多方式中的一种,因此现在归入WCF的功能范围.

Web服务只能通过HTTP访问,它可以在无状态环境中工作,WCF非常灵活,因为它的服务可以托管在不同类型的应用程序中.托管WCF服务的常见方案是IIS,WAS,自托管,托管Windows服务.

主要区别在于Web Services Use XmlSerializer.但WCF使用DataContractSerializer哪个性能更好XmlSerializer.


随机说明:DataContractSerializer和XmlSerializer的一个很大区别是DCS*需要*字段排序 - 这就是为什么我不使用DCS进行非瞬态序列化或合同!因此,当移动到DCS(或移动到DCS但以与先前使用的顺序不同的顺序)时,可以中断不使用固定顺序的客户端使用的服务.当然,这应该在Schema中表达,但..

3> 小智..:

Web Service 基于SOAP并以XML形式返回数据.它仅支持HTTP协议.它不是开源的,但可以被任何理解xml的客户端使用.它只能在IIS上托管.

WCF 也基于SOAP并以XML形式返回数据.它是Web服务(ASMX)的发展,支持TCP,HTTP,HTTPS,命名管道,MSMQ等各种协议.WCF的主要问题是其繁琐而广泛的配置.它不是开源的,但可以被任何理解xml的客户端使用.它可以在应用程序中或IIS上或使用窗口服务托管.



4> 小智..:

基本和主要区别在于,ASP.NET Web服务旨在通过HTTP交换SOAP消息,而WCF服务可以通过任何传输协议(即HTTP,TCP,MSMQ或NamedPipes等)使用任何格式(默认为SOAP)交换消息.

推荐阅读
农大军乐团_697
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有