在.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上

本文参考文档:

Remoting、WCF、WebAPI、WCFREST、WebService之间的区别与联系的更多相关文章

  1. 关于wcf,webservice,webapi或者其他服务或者接口有什么区别 WCF、WebAPI、WebService之间的区别 【转载】HTTP和SOAP完全就是两个不同的协议 WebService学习总结(一)——WebService的相关概念

    wcf,webservice采用的是rpc协议,这个协议很复杂,所以每次要传递.要校验的内容也很复杂,别看我们用的很简单,但实际是frame帮我们做掉了rpc生成.解析的事情webapi遵循是rest ...

  2. WCF、WebAPI、WebService之间的区别

    Web Service 1.它是基于SOAP协议的,数据格式是XML 2.只支持HTTP协议 3.它不是开源的,但可以被任意一个了解XML的人使用 4.它只能部署在IIS上 WCF 1.这个也是基于S ...

  3. 转:WCF、WebAPI、WCFREST、WebService之间的区别

    WCF.WebAPI.WCFREST.WebService之间的区别   注明:转载 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API ...

  4. servlet,RMI,webservice之间的区别

    最近项目中有提供或者调用别的接口,在纠结中到底是用servlet还是用webservice,所以上网查看了下他们以及RMI之间的区别,方便加深了解. 首先比较下servlet和webservice下  ...

  5. WCF、WebAPI、WCFREST、WebService之间的区别

    注明:转载 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我 ...

  6. 【转】WCF、WebAPI、WCFREST、WebService之间的区别

    在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...

  7. WCF、WebAPI、WCFREST、WebService之间的区别和选择

    转载翻译,原文:http://www.dotnet-tricks.com/Tutorial/webapi/JI2X050413-Difference-between-WCF-and-Web-API-a ...

  8. WCF、WebAPI、WCFREST、WebService之间的区别【转】

    转自:http://www.cnblogs.com/markli/p/4460564.html 在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了We ...

  9. WCF、WebAPI、WCFREST、WebService之间的区别【转载】

    在.net平台下,有大量的技术让你创建一个HTTP服务,像Web Service,WCF,现在又出了Web API.在.net平台下,你有很多的选择来构建一个HTTP Services.我分享一下我对 ...

随机推荐

  1. python基础[1]——python运算符&python数据类型之数值型

    python常用运算符&数字&布尔值 上节回顾 一.变量名和标识符 变量名的命名规范 (1)只能包含数字,字母和下划线 (2)只能以字母和下划线开头(不能以数字开头) (3)标识符是区 ...

  2. .net 项目更改默认命名空间

    这个项目是我去年毕业设计做的项目,项目创建的时候由于手抖把Landlordtenant写成了 LandloRdtenant(R大写了),当时不知道如何改回来又担心改完之后报错也就没管了. 今天尝试使用 ...

  3. koa中间执行机制

    start 基于 koa 2.11 按以下流程分析: const Koa = require('koa'); const app = new Koa(); const one = (ctx, next ...

  4. windows下使用pycharm配置python的virtualenv环境

    环境:win10 python2.7.10(64) 在path中配置python环境 注意:我这边的环境是py2和py3共存的,但是我这边默认使用的是py2. 在virtualenv环境中安装指定的p ...

  5. provider networks和self-service networks

    Provider Network 服务布局 Self-Service Network 网络布局: 网络布局 Provider Networks概述  Provider networks - Conne ...

  6. idea个人配置记录

    idea.properties # Use ${idea.home.path} macro to specify location relative to IDE installation home. ...

  7. 文件传输基础----Java IO流

    编码问题 一个很著名的奇怪现象:当你在 windows 的记事本里新建一个文件,输入"联通"两个字之后,保存,关闭,然后再次打开,你会发现这两个字已经消失了,代之的是几个乱码!呵呵 ...

  8. python学习--curl

    PyCurl是一个C语言写的libcurl的python绑定库.libcurl 是一个自由的,并且容易使用的用在客户端的 URL 传输库.它的功能很强大,PycURL 是一个非常快速(参考多并发操作) ...

  9. 设计模式——Adapter Pattern 适配器模式

    我第一次接触设计模式,选取了四大类型里面的结构型,这类型的特点是关注类&对象之间的组合(使用继承),我从中选取适配器模式来具体学习. 一.适配器模式(Adapter Pattern)定义: 适 ...

  10. java虚拟机jvm启动后java代码层面发生了什么?

    java虚拟机jvm启动后java代码层面发生了什么? 0000 我想验证的事情 java代码在被编译后可以被jdk提供的java命令进行加载和运行, 在我们的程序被运行起来的时候,都发生了什么事情, ...