Web Service

1、它是基于SOAP协议的,数据格式是XML

2、只支持HTTP协议

3、它不是开源的,但可以被任意一个了解XML的人使用

4、它只能部署在IIS上

WCF

1、这个也是基于SOAP的,数据格式是XML

2、这个是Web Service(ASMX)的进化版,可以支持各种各样的协议,像TCP,HTTP,HTTPS,Named Pipes, MSMQ.

3、WCF的主要问题是,它配置起来特别的繁琐

4、它不是开源的,但可以被任意一个了解XML的人使用

5、它可以部署应用程序中或者IIS上或者Windows服务中

  • WCF是对于ASMX,.Net Remoting,Enterprise Service,WSE,MSMQ等技术的整合
  • Address:每一个WCF的Service都有一个唯一的地址。这个地址给出了Service的地址和传输协议(Transport Protocol)
  • Binding:封装好的通信方式;
  • 契约(Contact) 数据契约,消息契约,操作契约...----------Service Contract, Data Contract, Fault Contract和Message Contract
  • 统一性,面向对象得方式创建面向服务的应用程序;
  • 互操作性,跨进程,跨平台,跨机器的通信;
  • 安全与信赖;
  • 兼容性,版本之间的兼容

WCF Rest

  • wcf rest service ,需要在wcf中应用webHttpBindings
  • 分别使用WebGet 和 WebInvoke属性,实现了HTTP的Get 和POST动词
  • 要想使用其他的HTTP动词,你需要在IIS中做些配置,使.svc 文件可以接受这些动词的请求
  • 使用WebGet通过参数传递数据,也需要配置,而且必须指定URiTemplate
  • 支持XML,JSON,ATOM数据

Web API

1、这是一个简单的构建HTTP服务的新框架

2、在.net平台上Web API 是一个开源的、理想的、构建REST-ful 服务的技术

3、不像WCF REST Service.它可以使用HTTP的全部特点(比如URIs、request/response头,缓存,版本控制,多种内容格式)

4、它也支持MVC的特征,像路由、控制器、action、filter、模型绑定、控制反转(IOC)或依赖注入(DI),单元测试。这些可以使程序更简单、更健壮

5、它可以部署在应用程序和IIS上

6、这是一个轻量级的框架,并且对限制带宽的设备,比如智能手机等支持的很好

7、Response可以被Web API的MediaTypeFormatter转换成Json、XML 或者任何你想转换的格式。

Web API 和 MVC可以说是两个不同的东西。Web API更倾向于基于HTTP协议的服务,直接返回用户的数据请求。MVC是建站的一种框架,倾向于返回用户的页面请求。

1、当你想创建一个支持消息、消息队列、双工通信的服务时,你应该选择WCF

2、当你想创建一个服务,可以用更快速的传输通道时,像TCP、NamedPipes或者甚至是UDP(在WCF4.5中),在其他传输通道不可用的时候也可以支持HTTP。

3、当你想创建一个基于HTTP的面向资源的服务并且可以使用HTTP的全部特征时(比如URIs、request/response头,缓存,版本控制,多种内容格式),你应该选择WebAPI

4、当你想让你的服务用于浏览器、手机、iPhone和平板电脑时,你应该选择Web API

转载于:https://www.cnblogs.com/cb521413/p/8656219.html

WebService、WCF、WebAPI、MVC的区别相关推荐

  1. JavaWeb三层架构的理解/三层架构的优缺点/三层架构与MVC的区别

    1.三层架构 我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器.在JavaEE开发中,几乎全都是基于B/S架构的开发.那么在B/S架构 ...

  2. WCF学习笔记(一):WCF Service Application和WCF Service Library的区别

    近来在学习WCF,遇到了不少问题,有的让我焦头烂额,不过解决问题的过程就是学习的过程,收获也不少. 昨天有个问题开始困扰我--WCF Service Application和WCF Service L ...

  3. [转]VSTO+WinForm+WebService+WCF+WPF示例

    看到一个不错的示例程序分享给大家,Vincent.Q的<VSTO+WinForm+WebService+WCF+WPF示例>很不错! 原文如下:    前段时间去图书馆借书,无意中发现这样 ...

  4. MVT和MVC的区别

    1.mvt和mvc的区别 M:model V:views C:controller T:templa 在MVC中 model是  主要是封装对数据库层的访问,对数据库中的数据进行增删改查操作 view ...

  5. WebService/WCF

    (一)如何发布WebService呢?使网络中其它机器能使用我的WebService 我写了一个简单的WebService,在本机上测试没有问题.   但网络中其它机器访问我的WebService时, ...

  6. 微软ASP.NET 电商网站开发实战 MVC6 +HTML5 +WCF+WebAPI+NoSQL+mongoDB+Redis+Core视频 代码 面试题...

    <微软ASP.NET 电商网站开发实战 MVC6 +HTML5 +WCF+WebAPI+NoSQL+mongoDB+Redis+Core 视频 代码 面试题 >下载网盘:https://y ...

  7. Spring 和 Spring MVC的区别

    Spring 和 Spring MVC的区别   学习Spring MVC也有几天时间了,那么Spring和Spring MVC的区别到底在哪里,二者是什么关系呢?认为二者是一个东西那肯定是不对的,而 ...

  8. android和web api接口,WebService和Webapi的区别

    下面的句子 是直接百度翻译出来的,对于英文好的朋友可点击下面网址 WebService特点 它是基于SOAP格式的肥皂和返回数据. 它只支持HTTP协议. 它不是开源的,但是可以被任何理解的客户所消耗 ...

  9. WebApi和MVC的区别

    使用上区分,mvc主要用于建站,web api主要用于构建http服务,当然你非要用mvc来构建Uri式的Api也行,不过显然是没有这个必要的,一个不恰当的比喻就像是你也可以玩破解版的单机游戏,也可以 ...

最新文章

  1. 【学习笔记】17、函数(Function)的定义和调用
  2. Oracle单行函数
  3. HTML之CSS画三角形原理,纯CSS写三角形样式集合(原理解析)
  4. TypeError系列之:TypeError: 'tuple' object does not support item assignment
  5. linux 打开网页 用curl_linux终端模拟浏览器访问(curl)
  6. 使用Exchange 的SMTP连接器路由/中继邮件的设定图例
  7. IOS上传文件给java服务器,返回报错unacceptable context-type:text/plain
  8. db2数据库日期减一天_DB2 数据库中的日期与时间如何正确操作?(2)
  9. 零基础学python知乎-零基础人员可以学习python吗?|Python培训基础教程
  10. php怎么发ddos包,解决服务器上通过PHP代码DDOS的方法
  11. 香农编码的MATLAB实现
  12. 用Attiny85控制水泵浇花
  13. adb inputswipe shell_[Android]通过adb shell input上报命令模拟屏幕点击事件【转】
  14. Work20230407
  15. 关于FBG、TFBG、LPG、45°TFBG、EX-45°TFBG
  16. unity 跨平台动态生成二维码 免费下载
  17. unity制作滚动的天空简易版(在b站学的,此处总结,供学习)
  18. 船务术语简缩语(zt)
  19. 基础题库:12 甲流疫情死亡率
  20. MariaDB二进制安装步骤以及数据库的基本操作

热门文章

  1. React (native) 相关知识
  2. Android为TV端助力context转换类型
  3. @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
  4. 关于阿里面试的的一个小题
  5. tomcat的JK和JK2
  6. Ajax调用webService(一) 不跨域。
  7. C语言(九)C语言概述
  8. 红旗桌面版本最新应用方式和成绩解答100例-5
  9. CTSC 2018 游记
  10. 阿里云API网关(14)流控策略