Web API 源码剖析之默认配置(HttpConfiguration)
我们在上一节讲述了全局配置和初始化。本节我们将就全局配置的Configuration只读属性进行展开,她是一个类型为HttpConfiguration。 它在Web Api 主要为整个API 做一些最基础的工作,比如定义默认
- 路由表(Routes)
- 过滤器(Filters)
- 默认消息处理程序(MessageHandlers)
- 属性字典(Properties)
- 依赖注入解耦器(DependencyResolver)
- 错误处理策略(IncludeErrorDetailPolicy)
- 服务(Services,这里的服务是之为Web ApI 框架的服务对应的接口和实现)
- 媒体格式程序(Formatters)
- 参数绑定规则(ParameterBindingRules)。
以上 就是配置的属性。 接下来将就部分属性展开。
默认格式化程序,是一个MediaTypeFormatterCollection类型。
API 里定义4个默认格式:
- JsonMediaTypeFormatter:对应的是用来处理请求头是application/json或text/json格式,
- XmlMediaTypeFormatter:对应的是用来处理请求头是application/xml格式
- FormUrlEncodedMediaTypeFormatter:对应的是用来处理请求头是application/x-www-form-urlencoded,
- JQueryMvcFormUrlEncodedFormatter
默认服务定义如下:
ParameterBindingRules = DefaultActionValueBinder.GetDefaultParameterBinders();
有兴趣的朋友可以下载web Api 源码查看。http://aspnetwebstack.codeplex.com/wikipage?title=Contributors.