ASP.NET Web API 2 框架揭秘 源码
第1章S101一个简单的ASP.NET Web API应用第2章S201通过路由实现请求地址与.aspx页面的映射S202基本路由注册S203在路由注册中指定约束S204针对现有物理文件的路由(关闭)S205针对现有物理文件的路由(开启)S206RouteCollection和Route的RouteExistingFiles属性对路由的影响S207注册需要被忽略的路由地址(未注册)S208注册需要被忽略的路由地址(已注册)S209通过注册的路由生成相应的URL(ASP.NET路由)S210路由注册时指定的虚拟根路径与约束对路由解析的影响S211通过注册的路由生成相应的URL(ASP.NET Web API路由)第3章S301HttpServer对消息处理管道的构建S302匿名Principal的设置S303验证HttpRoutingDispatcher的路由功能S304验证HttpControllerHandler的路由功能S305自定义HttpMessageHandler实现HTTP方法重写S306直接利用HttpBinding进行请求的接收和响应S307创建自定义HttpServer模拟HttpSelfHostServer的工作原理第4章S401验证DefaultAssembliesResolver的程序集解析行为S402自定义AssembliesResolverS403验证HttpController类型的缓存功能S404验证DefaultHttpControllerSelector针对HttpController名称与HttpControllerDescriptor映射关系的建立S405验证命名冲突对HttpController类型解析的影响S406验证HttpController的释放原理S407针对Unity的 IoC实现S408基于IoC的HttpControllerActivatorS409基于IoC的DependencyResolver第5章S501方法名决定Action支持的HTTP方法S502利用标注的特性控制Action支持的HTTP方法S503解析Action方法参数描述信息S504验证目标Action方法的选择策略(1)S505验证目标Action方法的选择策略(2)第6章S601基本路由映射S602让URL模板能够尽可能反映资源的层次结构(1)S603让URL模板能够尽可能反映资源的层次结构(2)S604让URL模板能够尽可能反映资源的层次结构(3)S605定义通配符路由变量S606定义可缺省路由变量S607验证约束类型与对应HttpRouteConstraint类型之间的映射关系S608自定义针对Culture的约束S609查看特性路由注册生成的RouteCollectionRoute对象(1)S610查看特性路由注册生成的RouteCollectionRoute对象(2)S611查看特性路由注册生成的RouteCollectionRoute对象(3)S612查看子路由对象的“precedence”S613查看特性路由在指定注册名称情况下生成的HttpRouteS614提取特性路由注册的HttpRoute进行路由解析S615检验HttpRouteData的“正常化”第7章S701数据源于请求URL的Model绑定S702检验通过标注数据注解特性对Model元数据的定制S703检验ValueProviderResult的数据类型转换能力S704NameValuePairsValueProvider采用List<string>对象作为原始数据带来的问题(1)S705NameValuePairsValueProvider采用List<string>对象作为原始数据带来的问题(2)S706获取指定前缀的Key(属性前缀)S707获取指定前缀的Key(索引前缀)S708自定义ValueProviderFactory第8章S801简单类型的Model绑定S802复杂类型的Model绑定S803集合类型的Model绑定(零基索引)S804集合类型的Model绑定(字符串索引)S805数组类型的Model绑定S806字典类型的Model绑定S807兼容类型的Model绑定S808获取Model绑定过程中由ValueProvider提供的数据第9章S901针对XmlMediaTypeFormatter的序列化/反序列化S902针对JsonMediaTypeFormatterr的序列化/反序列化S903针对FormUrlEncodedMediaTypeFormatter的序列化/反序列化S904针对JQueryMvcFormUrlEncodedFormatter的序列化/反序列化S905针对FormatterParameterBinding的参数绑定S906针对HttpRequestParameterBinding的参数绑定S907验证创建HttpParameterBinding的默认策略(1)S908验证创建HttpParameterBinding的默认策略(2)S909验证创建HttpParameterBinding的默认策略(3)第10章S1001手工验证绑定的参数S1002针对ValidationAttribute特性的“自动化”验证S1003自定义ActionFilter自动响应验证错误S1004创建自我验证数据类型实现自动化验证S1005检验ErrorModelValidator的提供策略S1006检验相同数据成员不会被重复验证S1007检验应用ValidationAttribute特性的唯一性(1)S1008检验应用ValidationAttribute特性的唯一性(2)S1009展示由CompositeModelBinder构建的“验证树”S1010验证“必需”数据成员的验证发生在Model绑定过程中S1011验证针对必需数据成员的两轮验证S1012直接利用BodyModelValidator验证对象(1)S1013直接利用BodyModelValidator验证对象(2)第11章S1101利用HttpActionInvoker执行目标Action方法并响应请求S1102创建自定义HttpActionInvoker实现对Action方法的执行和请求的响应S1103MediaTypeFormatter选择策略S1104编码方式的选择和响应字符集的确定S1105针对不同返回类型的Action所采用的ActionResultConverter第12章S1201检验Filter在生成的Filter管道中的顺序S1202检验应用Filter的唯一性S1203利用自定义AuthenticationFilter实现Basic认证S1204采用自定义AuthorizationFilter的方式实现Basic认证S1205检验HttpActionExecutedContext的Exception只有在不具有HttpResponseMessage的情况下才会抛出(1)S1206检验HttpActionExecutedContext的Exception只有在不具有HttpResponseMessage的情况下才会抛出(2)S1207利用自定义ActionFilter实现对Action方法执行结果的缓存S1208利用自定义的ExceptionFilter集成EntLib进行异常处理S1209验证OverrideFilter对外围Filter的屏蔽作用第13章S1301调用Basic认证下的Web APIS1302如何利用HttpClient调用Basic认证下的Web APIS1303利用HttpClient调用集成Windows认证下的Web API(1)S1304利用HttpClient调用集成Windows认证下的Web API(2)S1305调用Forms认证下的Web APIS1306利用HttpClient调用Forms认证下的Web APIS1307利用HTTPS来保护输入的密码S1308强制使用HTTPSS1309创建采用Implicit Authorization Grant的Web API应用S1310创建采用Authorization Code Authorization Grant的Web API应用第14章S1401跨域调用Web APIS1402利用JSONP解决跨域调用问题S1403通过自定义MediaTypeFormatter实现JSONPS1404利用自定义的MessageHandler支持跨域资源共享(1)S1405利用自定义的MessageHandler支持跨域资源共享(2)S1406采用ASP.NET Web API原生的机制实现跨域资源共享S1407创建自定义CorsMessageHandler模拟具体采用的授权检验第15章S1501验证HttpClientHandler的自动重定向S1502模拟客户端 HttpMessageHandler管道的执行S1503利用HttpClientFactory创建的HttpClient调用Web API
评论