WCF – 与 Web 服务

WCF – 与 Web 服务


WCF 和下面列出的 Web 服务之间存在一些主要差异。

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

  • 协议– WCF 支持一系列协议,即 HTTP、命名管道、TCP 和 MSMQ,而 Web 服务仅支持 HTTP 协议。

  • 托管机制– WCF 托管有各种激活机制,即 IIS(Internet 信息服务)、WAS(Windows 激活服务)、自托管和 Windows 服务,但 Web 服务仅由 IIS 托管。

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

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

  • 工具– ServiceMetadata 工具 (svcutil.exe) 用于为 WCF 服务生成客户端,而 WSDL.EXE 工具用于为 Web 服务生成相同的客户端。

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

  • 哈希表– 可以在 WCF 中序列化哈希表,但在 Web 服务中并非如此。

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

  • 多线程– WCF 通过使用 ServiceBehavior 类支持多线程,而这在 Web 服务中不受支持。

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

觉得文章有用?

点个广告表达一下你的爱意吧 !😁