什么是Web API

HTTP不仅仅服务于Web Pages。他也是一个创建展示服务和数据的API的强大平台。HTTP是简单的,灵活的,无处不在的。你能够想象到几乎任何的平台都会有HTTP服务库。HTTP服务可以涉及到范围广泛的客户端,包括浏览器,各种移动设备和传统桌面应用程序。而Web API是提供了一套RestfulAPI的开发框架,它提供了较为完整的http语义支持。

Web API 与MVC 的区别

    1.使用区别

           MVC主要用于Web站点开发,它在后端实现了一套完整的MVC开发框架,能提供方便的页面开发,提供给了后端Html构成,用户可以方便的开发出带页面的站点

Web API主要用于做开放API接口,更抽象,更不注重VIew生成

2.自身实现区别

两种框架主要使在Asp.Net的基础上进行改造,主要是对HttpModule和HttpHandler做了扩展。

MVC像是在一层上建立了第二层,引伸出更大的路由机制,实现了诸如MvcHandlerControllerFactory这种消息处理和后台控制器方法选择机制。而Web API除了扩展前者外,另外写出了一套独立的,独立于Asp.Net的消息处理管道,就像借鉴了原来的房子模型,重新设计出了另一套别墅,这也很好的解释了为什么Web API可以寄宿在不同的宿主上(宿主本质就是利用一个具体的一个用程序为Web API提供给一个可运行的环境,并解决请求的接收和响应的回复),如 Web Host,Self Host方式,这与WCF相似。而MVC只能寄宿与IIS上(不考虑.net core),就像WebForm的寄宿方式。何况它们两者虽然都有Controller和Action,但是请求的实现和响应的回复机制也是不同的,比如Web API处理消息的两个核心类是HttpRequestMessage和HttpResponseMessage。这两种框架最多只能说模式上相似,实现还有有很大区别。

Asp.Net Web API(一)的更多相关文章

  1. 在一个空ASP.NET Web项目上创建一个ASP.NET Web API 2.0应用

    由于ASP.NET Web API具有与ASP.NET MVC类似的编程方式,再加上目前市面上专门介绍ASP.NET Web API 的书籍少之又少(我们看到的相关内容往往是某本介绍ASP.NET M ...

  2. ASP.NET Web API Model-ActionBinding

    ASP.NET Web API Model-ActionBinding 前言 前面的几个篇幅把Model部分的知识点划分成一个个的模块来讲解,而在控制器执行过程中分为好多个过程,对于控制器执行过程(一 ...

  3. ASP.NET Web API Model-ParameterBinding

    ASP.NET Web API Model-ParameterBinding 前言 通过上个篇幅的学习了解Model绑定的基础知识,然而在ASP.NET Web API中Model绑定功能模块并不是被 ...

  4. ASP.NET Web API Model-ModelBinder

    ASP.NET Web API Model-ModelBinder 前言 本篇中会为大家介绍在ASP.NET Web API中ModelBinder的绑定原理以及涉及到的一些对象模型,还有简单的Mod ...

  5. ASP.NET Web API Model-ValueProvider

    ASP.NET Web API Model-ValueProvider 前言 前面一篇讲解了Model元数据,Model元数据是在Model绑定中很重要的一部分,只是Model绑定中涉及的知识点比较多 ...

  6. ASP.NET Web API Model-ModelMetadata

    ASP.NET Web API Model-ModelMetadata 前言 前面的几个篇幅主要围绕控制器的执行过程,奈何执行过程中包含的知识点太庞大了,只能一部分一部分的去讲解,在上两篇中我们看到在 ...

  7. ASP.NET Web API 过滤器创建、执行过程(二)

    ASP.NET Web API 过滤器创建.执行过程(二) 前言 前面一篇中讲解了过滤器执行之前的创建,通过实现IFilterProvider注册到当前的HttpConfiguration里的服务容器 ...

  8. ASP.NET Web API 过滤器创建、执行过程(一)

    ASP.NET Web API 过滤器创建.执行过程(一) 前言 在上一篇中我们讲到控制器的执行过程系列,这个系列要搁置一段时间了,因为在控制器执行的过程中包含的信息都是要单独的用一个系列来描述的,就 ...

  9. ASP.NET Web API 控制器执行过程(一)

    ASP.NET Web API 控制器执行过程(一) 前言 前面两篇讲解了控制器的创建过程,只是从框架源码的角度去简单的了解,在控制器创建过后所执行的过程也是尤为重要的,本篇就来简单的说明一下控制器在 ...

  10. ASP.NET Web API 控制器创建过程(二)

    ASP.NET Web API 控制器创建过程(二) 前言 本来这篇随笔应该是在上周就该写出来发布的,由于身体跟不上节奏感冒发烧有心无力,这种天气感冒发烧生不如死,也真正的体会到了什么叫病来如山倒,病 ...

随机推荐

  1. mysql使用use db出现夯住问题

    表的数目在15585个,在使用use db的时候出现夯住 从show processlist中看到一堆表在做排序,想看看这些表的表结构.使用use db之后夯住,没有办法查看. 当时没有想到怎么办,鉴 ...

  2. 后端自动化版本管理,再也不用改URL了!

    每次升级接口版本时,后端.前端.客户端都是痛苦的: 后端:要兼容旧版客户端,以前的接口不能动啊,又得写新接口.新文档了,唉! 前端:还好,就是版本号到处都是,改起来比较烦. Android:快点啊产品 ...

  3. 用python画一朵玫瑰花

    废话不多说,直接上代码 from turtle import * import time setup(600,800,0,0) speed(0) penup() seth(90) fd(340) se ...

  4. NetFlow学习笔记

    NetFlow学习笔记 标签: netflow 由于工作需要,对NetFlow做了一些学习和调研,并总结成文档以供学习分享. 背景:随着系统的升级与漏洞的修补,入侵主机进而进行破坏的病毒攻击方式在攻击 ...

  5. 25个Java机器学习工具和库

    本列表总结了25个Java机器学习工具&库: 1. Weka集成了数据挖掘工作的机器学习算法.这些算法可以直接应用于一个数据集上或者你可以自己编写代码来调用.Weka包括一系列的工具,如数据预 ...

  6. [最短路]P1828 香甜的黄油 Sweet Butter

    题目描述 农夫John发现做出全威斯康辛州最甜的黄油的方法:糖.把糖放在一片牧场上,他知道N(1<=N<=500)只奶牛会过来舔它,这样就能做出能卖好价钱的超甜黄油.当然,他将付出额外的费 ...

  7. 晓莲说-何不原创:java 实现二维数组冒泡排序

    新手从业路-为自己回顾知识的同时,也希望和大家分享经验: 话不多说,上代码 public class 冒泡排序 { /**     * @param admin     * @2017.12.4   ...

  8. 手动编译 Nginx 并安装 VeryNginx

    VeryNginx 是个非常有意思且便捷的 Nginx 扩展程序.最近新开了台 VPS,便想体验一下它带来的快感. VeryNginx 有个不超过 5 行的安装方法,但作为强迫症我更喜欢使用自己编译的 ...

  9. 微信小程序爬坑日记

    新公司上手小程序.30天,从入门到现在,还没放弃... 虽然小程序发布出来快一年了,爬坑的兄弟们大多把坑都踩平了.而我一直停留在"Hello World"的学习阶段.一来没项目,只 ...

  10. 《Linux命令行与shell脚本编程大全》第二十二章 gawk进阶

    gawk是一门功能丰富的编程语言,你可以通过它所提供的各种特性来编写好几程序处理数据. 22.1 使用变量 gawk编程语言支持两种不同类型的变量: 内建变量和自定义变量 22.1.1 内建变量 ga ...