WCF是Microsoft早期所有Web 服务技术的替代品。它还比传统上认为的“Web 服务”做得更多。
WCF“Web 服务”是通过 WCF 实现的更广泛的远程通信的一部分。您将在 WCF 中获得比通过传统 ASMX 更高程度的灵活性和可移植性,因为 WCF 从头开始设计,总结了 Microsoft 提供的所有不同的分布式编程基础结构。WCF 中的端点可以通过 SOAP/XML 与通过 TCP/二进制文件一样容易地进行通信,并且更改此介质只需一个配置文件 mod。理论上,这减少了移植或更改业务需求、目标等时所需的新代码量。
ASMX is older than WCF, and anything ASMX can do so can WCF (and more)
. 基本上,您可以将 WCF 视为试图将在 Microsoft 世界中让两个应用程序进行通信的所有不同方式逻辑地组合在一起;ASMX 只是众多方式中的一种,因此现在归入 WCF 功能的保护伞下。
Web 服务只能通过 HTTP 访问,它可以在无状态环境中工作,WCF 是灵活的,因为它的服务可以托管在不同类型的应用程序中。托管 WCF 服务的常见方案是 IIS、WAS、自托管、托管 Windows 服务。
主要区别在于 Web 服务使用 XmlSerializer。但是 WCF 使用 DataContractSerializer,与 XmlSerializer 相比,它的性能更好。
什么情况下必须使用WCF
- 用于处理业务交易的安全服务。一项服务
- 向他人提供当前数据,例如交通报告或其他
- 监控服务。允许两个人聊天的聊天服务
- 实时通信或交换数据。仪表板应用程序
- 轮询一个或多个服务以获取数据并以逻辑方式呈现
- 介绍。公开使用 Windows Workflow 实现的工作流
- Foundation 作为 WCF 服务。用于轮询的 Silverlight 应用程序
- 提供最新数据源的服务。
WCF的特点
- 服务导向
- 互操作性
- 多种消息模式
- 服务元数据
- 数据合同
- 安全
- 多种传输和编码
- 可靠和排队的消息
- 持久消息
- 交易
- AJAX 和 REST 支持
- 可扩展性
来源:主要文本来源