ASP.NET Web API 是在眼下算是比较前卫的.net framework开发框架,但它的核心,创建在一个简单的管道和过滤器设计模式上。
ASP.NET Web API 的一些主要特点使得他具备 健壮性, 模块性 , 易测性
特点:1.异步调用方式:ASP.NET Web API 框架 自上而下都采用了 task 任务异步编程模式 。
2. 当前上下文(HttpContext.Current:)比较少了:我们知道为了方便灵活性测试mvc 把上下文 HttpContext包裹在 HttpContextBase基类里,而web api 把Request.Properties dictionary
3.可以寄宿在iis 或其他的没有web服务的进程(控制台,服务等)
4.可以重复利用相同的http 管道在服务端和客户端
5. 内置支持依赖注入:ASP.NET Web API 支持 一些自定义的依赖注入框架,通过简单的服务定位接口
6.易测试性
7.HttpConfiguration 类:web api 运行时上下文 抽象在httpConfiguration里面,HttpConfiguration可以全局定义一些配置在运行时上,她不包含静态的属性, 重要的属性有:
Filters : 获取适用于所有使用此 System.Web.Http.HttpConfiguration 实例提供的请求的筛选器列表。 返回筛选器列表 ,返回类为 (HttpFilterCollection)
Formatters: 获取此实例的媒体类型格式化程序。
MessageHandlers: 获取当 System.Net.Http.HttpRequestMessage 在堆栈中向上遍历,并且 System.Net.Http.HttpResponseMessage
在堆栈中向下遍历以进行回应时要调用的 System.Net.Http.DelegatingHandler 实例的排序列表。
ParameterBindingRules:与参数绑定方式相关的规则的集合
web api 的一些元素:
Routes:路由集合
DependencyResolver:获取或设置与此实例关联的依赖关系解析程序
通过一个简单的http请求映射web api 的元素 ,我们可以使用Fiddler 来查看