WCF - 与Web服务对比



WCF和Web服务之间存在一些主要区别,如下所示。

  • 属性 - WCF服务由ServiceContract和OperationContract属性定义,而Web服务由WebService和WebMethod属性定义。

  • 协议 - WCF支持多种协议,例如HTTP、命名管道、TCP和MSMQ,而Web服务仅支持HTTP协议。

  • 托管机制 - WCF托管有多种激活机制,例如IIS(Internet Information Service)、WAS(Windows Activation Service)、自托管和Windows服务,而Web服务仅由IIS托管。

  • 服务 - WCF支持强大的安全性、可信赖的消息传递、事务和互操作性,而Web服务仅支持安全服务。

  • 序列化器 - WCF通过使用System.Runtime.Serialization支持DataContract序列化器,而Web服务通过使用System.Xml.Serialization支持XML序列化器。

  • 工具 - WCF服务的客户端生成使用ServiceMetadata工具(svcutil.exe),而Web服务的客户端生成使用WSDL.EXE工具。

  • 异常处理 - 在WCF中,未处理的异常通过使用FaultContract得到更好的处理。它们不像Web服务那样作为SOAP错误返回给客户端。

  • 哈希表 - 在WCF中可以序列化哈希表,但在Web服务中则不行。

  • 绑定 - WCF支持多种类型的绑定,如BasicHttpBinding、WSDualHttpBinding、WSHttpBinding等,而Web服务仅支持SOAP或XML。

  • 多线程 - WCF通过使用ServiceBehavior类支持多线程,而Web服务不支持。

  • 双工服务操作 - WCF除了支持单向和请求-响应服务操作外,还支持双工服务操作,而Web服务不支持双工服务操作。

广告
© . All rights reserved.