在Model绑定过程中会通过激活的Controller类型创建用于描述它的ControllerDescriptor对象。Controller是一组Action方法的集合,而每一个Action通过ActionDescriptor对象来表示,在这篇文章中我们就来着重谈谈不同类型的ActionDescriptor。[本文已经同步到《How ASP.NET MVC Works?》中]

目录
一、ActionDescriptor
二、AsyncActionDescriptor
三、ReflectedActionDescriptor
四、ReflectedAsyncActionDescriptor
五、TaskAsyncActionDescriptor

用于描述定义在Controller类中的Action方法的ActionDescriptor定义如下。属性ActionName和ControllerDescriptor表示Action的名称和描述所在Controller的ControllerDescriptor对象。表示唯一标识的UniqueId属性由自身类型Controller的类型Action名称三者派生。

class ActionDescriptor : ICustomAttributeProvider
   2: {
bool inherit);
bool inherit);
bool inherit);
bool useCache);
   7:     
abstract ParameterDescriptor[] GetParameters();
object> parameters);
virtual ICollection<ActionSelector> GetSelectors();
virtual FilterInfo GetFilters();    
  12:  
string ActionName { get; }
abstract ControllerDescriptor ControllerDescriptor { get; }
string UniqueId { get; }
  16: }

相关文章: