WCF、WebAPI、WCFREST和Web服务的差异 ASP.NETMVC和ASP.NETWebAPI的差异
WCF、WebAPI、WCFREST和Web服务的差异:
Web服务
它是基于SOAP和XML的形式返回数据。
它仅支持HTTP协议。
它是开放源,但是不消耗任何客户端可以同时理解XML。
它可以仅在IIS托管。
WCF
它也是基于SOAP和XML的形式返回数据。
它是对演化的Web服务(asmx)和支持各种协议(如TCP、HTTP、HTTPS)、命名管道、MSMQ。
WCF最主要的问题是,其繁琐和大量的配置。
它是开放源,但是不消耗任何客户端可以同时理解XML。
它可以在应用程序或IIS托管也可以部署为windows服务。
WCFREST
使WCFREST服务您必须启用webhttpbindings。
它支持HTTP动词GET和POST[][]和webgetwebinvoke属性。
启用HTTP动词以外,你还得在配置IIS来接受该请求的特定动词对.svc文件
使数据通过使用webget需要配置参数。必须指定该uritemplate
它支持XML、JSON和Atom格式数据。
WebAPI
这是新的框架来构建HTTP服务的简单和容易方式。
开放源WebAPI是一个理想平台服务的REST-ful的NET框架。
WCFREST服务不同,它使用了HTTP的特点充分类似(URI、请求/响应报头,缓存,版本、各种内容格式)
它还支持MVC的特征,诸如路由、控制器、操作结果、过滤器、活页夹、或IOC依赖注入容器,测试单元,使其更加简单和鲁棒。
它可以托管在应用程序或IIS下。
它是结构良好的和重量轻的设备具有有限的带宽,如智能电话。
响应格式化为JSON,XML或任何格式,您需要添加一个mediatypeformatter。
如何选择WCF、WebAPI
对于单向消息传递、消息队列、半双工通信等可以选择WCF。
当需要使用全特征的(如HTTPURI,请求/响应报头,缓存,版本、各种内容格式),可以选择WebAPI。
当需要建立服务于浏览器、移动电话、iPhone和平板电脑的项目可以选择WebAPI。
ASP.NETMVC和ASP.NETWebAPI
使用ASP.NETMVC创建Web应用返回数据,但是ASP.NETWebAPI被用于创建完整HTTP服务的容易且简单的方式,不只返回数据视图。
有助于构建webAPI(REST)风格的服务。NET框架,它还支持内容协商(约决定最佳响应格式数据,该数据可以是可由客户端的JSON、XML或其它格式的数据),自托管的MVC。
WebAPI也需要返回数据的特定格式(如JSON,XML或任何其它基于接收的报头的请求。仅在MVC中使用JSON格式返回数据jsonresult。
在WebAPI的请求的动作被映射到基于HTTP动词,但它在MVC中被映射到动作名称。
ASP.NETWebAPI的新框架和ASP.NET框架的核心部分。该模型结合、过滤、路由和其他特征在存在MVCWebAPI不同于MVC和存在于新
System.Web.Http组件。在MVC中,这些特征在与存在System.Web.Mvc。因此,WebAPI也可以使用ASP.NET和作为独立的服务层。您可以在MVC控制器和WebAPI单个项目来处理高级Ajax请求的返回数据可以在JSON、XML或其他格式的全面建设和HTTP服务。通常,这被称为自托管WebAPI。
此外,WebAPI是重量轻的应用除了Web体系结构和它也可用于智能手机应用。
mvc主要用于建站,web api主要用于构建http服务
WCF、WebAPI、WCFREST和Web服务的差异 ASP.NETMVC和ASP.NETWebAPI的差异的更多相关文章
- WCF:为 SharePoint 2010 Business Connectivity Services 构建 WCF Web 服务(第 1 部分,共 4 部分)
转:http://msdn.microsoft.com/zh-cn/library/gg318615.aspx 摘要:通过此系列文章(共四部分)了解如何在 Microsoft SharePoint F ...
- BMap:WEB 服务API
ylbtech-Map-Baidu: WEB 服务API 百度地图Web服务API为开发者提供http/https接口,即开发者通过http/https形式发起检索请求,获取返回json或xml格式的 ...
- Asp.net web服务处理程序(第六篇)
四.Web服务处理程序 对于Web服务来说,标准的方式是使用SOAP协议,在SOAP中,请求和回应的数据通过XML格式进行描述.在Asp.net 4.0下,对于Web服务来说,还可以选择支持Ajax访 ...
- IIS Web服务扩展中添加ASP.NET4.0
问题 服务器上安装了ASP.NET 4.0.30319组件,但是在IIS的Web服务扩展中并没有找到ASP.NET v4.0.30319这项,这导致基于.NET4.0开发的网页都无法正常浏览(404错 ...
- IIS Web服务扩展中没有Asp.net 2.0
服务器上安装了ASP.NET v2.0组件,但是在IIS的Web服务扩展中并没有找到ASP.NET v2.050727这项,这导致基于.NET2.0开发的网页都无法正常浏览. 解决方法:打开IIS,转 ...
- WCF与ASMX Web服务差异比较[译]
First of all, it needs to understand that WCF Service provides all the capabilities of .NET web serv ...
- 关于WEB Service&WCF&WebApi实现身份验证之WebApi篇
之前先后总结并发表了关于WEB Service.WCF身份验证相关文章,如下: 关于WEB Service&WCF&WebApi实现身份验证之WEB Service篇. 关于WEB S ...
- 关于WEB Service&WCF&WebApi实现身份验证之WCF篇(2)
因前段时间工作变动(换了新工作)及工作较忙暂时中断了该系列文章,今天难得有点空闲时间,就继续总结WCF身份验证的其它方法.前面总结了三种方法(详见:关于WEB Service&WCF& ...
- 从开发的角度比较 ASP.NET Web 服务与 WCF
Windows Communication Foundation (WCF) 具有一个 ASP.NET 兼容模式选项,用户使用此选项可以对 WCF 应用程序进行编程和配置,使其像 ASP.NET We ...
随机推荐
- oracle客户端安装
一.引导安装并配置 1)下载客户端(两个文件) 2)选中两个压缩包解压到同一个文件夹下 3)点击setup 4)选择:创建和配置数据库桌面类选择安装目录,全局数据库名:orcl,密码admin口令管理 ...
- CSS高度塌陷问题解决方案
高度塌陷的存在:原因分析 1 <!DOCTYPE html> <html> <head> <meta charset="utf-8" /& ...
- Cookie/Session机制详解(转载)
原文链接:http://blog.csdn.net/fangaoxin/article/details/6952954 会话(Session)跟踪是Web程序中常用的技术,用来跟踪用户的整个会话.常用 ...
- aliyun添加数据盘parted方式分区格式化和lvm挂载及数据盘的扩容
一.普通磁盘分区管理方式 1.对磁盘进行分区 列出磁盘 # fdisk -l # fdisk /dev/vdb Welcome to fdisk (util-linux 2.23.2). Change ...
- centos6.5下java和tomcat环境部署
软件包: tomcat安装包 apache-tomcat-7.0.67.zip jdk安装包 jdk-6u10-linux-x64.bin 下载地址:http://www.oracle.com/tec ...
- 通达OA系统myisam转innodb引擎
OA系统切换到linux环境后,性能提升了2-3倍左右,随着公司的发展壮大,办公人员也会越来越多,当人数达到一定数量级别时如1500在线人数已无法支撑公司业务,就需要对系统进行性能提升优化. 当前OA ...
- vue系列之核心思想
1.数据驱动 只要改变数据,Vuejs会通过Directives指令对DOM进行封装,当数据发生变化,会通知相应的DOM进行变化 Vuejs会对DOM进行监听,通过DOMListeners监听视图的变 ...
- 深入理解JS中的变量及变量作用域
JS的变量有两种,“全局变量”和“局部变量”. “全局变量”声明在函数外部,可供所有函数使用,(全局变量属于window)而“局部变量”声明在函数体内部,只能在定义该变量的函数体内使用. 1.全局变量 ...
- wap页面
<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content=&q ...
- LeetCode(56):合并区间
Medium! 题目描述: 给出一个区间的集合,请合并所有重叠的区间. 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18] ...