Web服务与WCF服务有什么区别?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (28)

他们有什么区别?

我什么时候会选择一个呢?

提问于
用户回答回答于

WCF和Web服务之间有什么区别?

WCF是Microsoft早期所有Web服务技术的替代品。它比传统上被认为是“网络服务”的功能还要多。 WCF“Web服务”是通过WCF实现的更广泛范围的远程通信的一部分。与传统的ASMX相比,将在WCF中获得更高程度的灵活性和可移植性,因为WCF从头开始设计以总结Microsoft提供的所有不同分布式编程基础架构。WCF中的一个端点可以通过SOAP / XML轻松进行通信,因为它可以通过TCP /二进制进行通信,并且更改此介质只是一个配置文件mod。理论上,这减少了移植或改变业务需求,目标等时所需的新代码数量。 ASMX比WCF早,ASMX可以做的任何事情都可以使用WCF(以及更多)。基本上你可以看到WCF试图从逻辑上将所有两种应用程序在Microsoft世界中进行通信的不同方式组合在一起; ASMX只是这些方法中的一种,所以现在归入WCF的能力范围之内。 Web服务只能通过HTTP访问,它可以在无状态的环境中工作,因为WCF的服务可以托管在不同类型的应用程序中。托管WCF服务的常见方案是IIS,WAS,自托管,托管Windows服务。 主要区别在于Web服务使用XmlSerializer。但是WCF与使用DataContractSerializer相比,性能更好XmlSerializer

用户回答回答于

文章摘要:

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

你不能比较它们,因为WCF是构建可互操作应用程序的框架。如果你愿意,你可以把它看作是SOA的推动者。这是什么意思?

那么,WCF符合一个叫做ABC的东西,其中A是你要与之通信的服务的地址,B代表绑定,C代表合同。这很重要,因为可以在不更改代码的情况下更改绑定。合同更加强大,因为它会迫使合同与实施分离。这意味着合同是在一个接口中定义的,并且消费者使用同样的合同理念来实现一个具体的实现。数据模型被抽象出来。“

“当我们需要与其他通信技术(例如,对等,命名管道)而不是Web服务通信时,应该使用WCF”

扫码关注云+社区