REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一代Web服务(或者Web API)的架构风格.由于REST仅仅是一种价格风格,所以它是与具体的技术平台无关的,也就是说采用REST架构的应用未必一定建立在Web之上,所以在正式介绍REST之前,我们先来简单认识一下Web. 目录 一.TCP/IP与HTTP 二.Web资源       媒体类型   …
原文:http://www.cnblogs.com/artech/p/restful-web-api-01.html REST不是一个标准,而是一种软件应用架构风格.基于SOAP的Web服务采用RPC架构,如果说RPC是一种面向操作的架构风格,而REST则是一种面向资源的架构风格.REST是目前业界更为推崇的构建新一代Web服务(或者Web API)的架构风格.由于REST仅仅是一种价格风格,所以它是与具体的技术平台无关的,也就是说采用REST架构的应用未必一定建立在Web之上,所以在正式介绍R…
目录 HttpController 创建HttpController IAssembliesResolver IHttpControllerTypeResolver HttpControllerTypeCache IHttpControllerSelector ServicesContainer 从上节我们知道,在消息管道中,最终在HttpControllerDispatcher的SendAsync方法中会创建IHttpController. HttpController 我们先看看IHttpC…
一.基于RESTful标准的Web Api 原文讲解:https://www.cnblogs.com/lori/p/3555737.html 微软的web api是在vs2012上的mvc4项目绑定发行的,它提出的web api是完全基于RESTful标准的,完全不同于之前的(同是SOAP协议的)wcf和webService,它是简单,代码可读性强的,上手快的,如果要拿它和web服务相比,我会说,它的接口更标准,更清晰,没有混乱的方法名称,有的只有几种标准的请求,如get,post,put,de…
[第1篇] 同源策略与JSONP 浏览器是访问Internet的工具,也是客户端应用的宿主,它为客户端应用提供一个寄宿和运行的环境.而这里所说的应用,基本是指在浏览器中执行的客户端JavaScript程序.虽然是一种解释性的脚本语言,JavaScript其实是无比强大的,原则上来讲它可以做任何事.但是在能够在JavaScript脚本并不都是值得信赖的,所以浏览器必须对JavaScript的执行作相应的限制,这就是“同源策略(Same Origin Policy)”.JavaScript脚本的源决…
目录 ModelBinder ModelBinderProvider 不同类型的Model绑定 简单类型 复杂类型 其他类型 ModelBinder ModelBinder是Model绑定的核心. public interface IModelBinder { //绑定Model方法,返回绑定是否成功 bool BindModel(HttpActionContext actionContext, ModelBindingContext bindingContext); } ModelBindin…
目录 解决什么问题 Model元数据解析 复杂类型 ValueProvider ValueProviderFactory 解决什么问题 Model: Action方法上的参数 Model绑定: 对Action方法参数绑定 通过2个实例说明它的作用 定义控制器和特性路由 [RoutePrefix("demo")] public class DemoController : ApiController { [Route("get/{x?}/{y?}/{z?}")] pu…
目录 HttpMessageHandler Web Host模式处理过程 Self Host模式处理过程 HttpMessageHandler Web API处理管道由一系列HttpMessageHandler组成 public abstract class HttpMessageHandler : IDisposable { protected internal abstract Task<HttpResponseMessage> SendAsync(HttpRequestMessage r…
目录 ASP.NET 路由 注册路由 动态映射HttpHandler WebAPI 路由 注册路由 调用GetRouteData 2个路由系统衔接 GlobalConfiguration HostedHttpRoute 补充 路由是进入Web API的第一扇门.目的用于确定Controller名称.Action名称.路由参数. ASP.NET 路由 注册路由 在ASP.NET中注册路由的方式: RouteCollection.MapPageRoute() 添加1个完整的路由: var defau…
目录 1. 特性路由注册 2. 路由解析 - 生成DataTokens - 选择HttpController - 选择Action 特性路由的目的在于更好的提供restful架构的接口,最近好忙(懒),所以更新速度慢. 特性路由注册 [Route(模板)] :定义特性路由模板 普通变量 a/b/{c} 缺省变量 a/b/{c=d} 变量约束 a/b/{c:int:range(10,20)} 通配符 a/b/{*c:datetime} [RoutePrefix("api/demo")]…