一、介绍
1. Controller 的类型直接或者间接实现了System. Web.Mvc.IController 接口。
2. IController 接口仅仅包含一个参数类型为RequestContext 的Execute方法,
public interface IController
{
void Execute(RequestContext requestContext);
}
Execute方法主要实现的操作:
A.从包含在当前请求上下文的路由数据中获取Action 名称并据此解析出对应的方法;
B.将通过Model 绑定机制从当前请求上下文中提取相应的数据并调用Action 方法生成对应的参数列表;
该接口中的Execute 是以同步的方式执行的,为了支持异步方式对请求进行处理,Controller类实现了system.Web.Mvc.IAsyncController接口,
IAsyncController接口中通过执行BeginExecuteÆndExecute 方法以异步的形式完成。
public interface IAsyncController : IController
{
IAsyncResult BeginExecute(RequestContext requestContext, AsyncCallback callback, object state);
void EndExecute(IAsyncResult asyncResult);
}