Controller的激活()
上面我们详细地介绍了Controller的激活原理现在将关注点返回到Controller自身通过实现IController接口我们为所有的Controller定义了一个具有如下定义的ControllerBase抽象基类从中可以看到在实现的Execute方法中ControllerBase通过一个实现了接口IActionInvoker的对象完成了针对Action方法的执行
public abstract class ControllerBase: IController
{
protected IActionInvoker ActionInvoker { get; set; }
public ControllerBase()
{
thisActionInvoker = new ControllerActionInvoker()
}
public void Execute(RequestContext requestContext)
{
ControllerContext context = new ControllerContext {
RequestContext = requestContext Controller = this };
string actionName = requestContextRouteDataActionName;
thisActionInvokerInvokeAction(context actionName)
}
}
返回目录ASPNET MVC 框架揭秘
编辑推荐
ASP NET开发培训视频教程
Microsoft NET框架程序设计视频教程
Java程序性能优化让你的Java程序更快更稳定
Visual C++音频/视频技术开发与实战