Web API 源码剖析之默认配置(HttpConfiguration)

我们在上一节讲述了全局配置和初始化。本节我们将就全局配置的Configuration只读属性进行展开,她是一个类型为HttpConfiguration。 它在Web Api 主要为整个API 做一些最基础的工作,比如定义默认

  1. 路由表(Routes)
  2. 过滤器(Filters)
  3. 默认消息处理程序(MessageHandlers)
  4. 属性字典(Properties)
  5. 依赖注入解耦器(DependencyResolver)
  6. 错误处理策略(IncludeErrorDetailPolicy)
  7. 服务(Services,这里的服务是之为Web ApI 框架的服务对应的接口和实现)
  8. 媒体格式程序(Formatters)
  9. 参数绑定规则(ParameterBindingRules)。

以上 就是配置的属性。 接下来将就部分属性展开。

默认格式化程序,是一个MediaTypeFormatterCollection类型。

API 里定义4个默认格式:

  1. JsonMediaTypeFormatter:对应的是用来处理请求头是application/json或text/json格式,
  2. XmlMediaTypeFormatter:对应的是用来处理请求头是application/xml格式
  3. FormUrlEncodedMediaTypeFormatter:对应的是用来处理请求头是application/x-www-form-urlencoded,
  4. JQueryMvcFormUrlEncodedFormatter

默认服务定义如下:

ParameterBindingRules = DefaultActionValueBinder.GetDefaultParameterBinders();

有兴趣的朋友可以下载web Api 源码查看。http://aspnetwebstack.codeplex.com/wikipage?title=Contributors.

04-17 05:38