Remoting、WCF、WebAPI、WCFREST、WebService之间的区别与联系

在.net平台下,有大量的技术让你创建一个服务,像Web Service,WCF,Web API,Remoting,我们来对比一下他们的区别与联系

Remoting Web Service WCF WCF Rest Web API
可以灵活的定义其所基于的协议 基于SOAP协议 基于SOAP协议 想使用WCF Rest service,你必须在WCF中使用webHttpBindings 一个简单的构建HTTP服务框架
既支持TCP信道又支持HTTP信道,传输速度快 只支持HTTP协议 是Web Service(ASMX)的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ. 分别用[WebGet]和[WebInvoke]属性,实现了HTTP的GET和POST动词,要想使用其他的HTTP动词,你需要在IIS中做一些配置,使.svc文件可以接受这些动词的请求;使用WebGet通过参数传输数据,也需要配置。而且必须指定UriTemplate 不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)
不是开源的 不是开源的 不是开源的 不是开源的 在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术
可传输XML的SOAP包又可传输二进制流,效率高 XML XML 支持XML、JSON以及ATOM这些数据格式 Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。
主要用于C/S结构项目 用在B/S系统中
需要客户和服务器都是.NET 可以做到跨平台通信,但必须采用SOAP协议 可以做到跨平台通信,但必须采用SOAP协议 可以跨平台通信 可以跨平台通信
需要通过一个WinForm或是Windows服务进行启动,不一定要依赖IIS服务器 只能部署在IIS上 可以部署应用程序中或者IIS上或者Windows服务中 可以部署在应用程序和IIS上

本文参考文档:

posted @ 2020-01-17 10:17  德乌姆列特  阅读(327)  评论(0编辑  收藏  举报