asp.net

位置:IT落伍者 >> asp.net >> 浏览文章

ASP.NET MVC 4框架揭秘:Action的执行(2)


发布日期:2018年06月16日
 
ASP.NET MVC 4框架揭秘:Action的执行(2)

Action的执行(

在ControllerActionInvoker的InvokeAction方法中我们直接将传入的Action名称作为方法名从Controller类型中得到表示Action操作的MethodInfo对象然后遍历MethodInfo的参数列表对于每一个ParameterInfo对象我们将它的Name和ParameterType属性表示的参数名称和类型连同创建的ControllerContext作为参数调用ModelBinder的BindModel方法并得到对应的参数值最后通过反射的方式传入参数列表并执行MethodInfo

和真正的ASPNET MVC一样定义在Controller的Action方法返回一个ActionResult对象我们通过执行它的Execute方法实现对请求的响应

ActionResult

我们为具体的ActionResult定义了一个ActionResult抽象基类如下面的代码片段所示该抽象类具有一个参数类型为ControllerContext的抽象方法ExecuteResult我们最终对请求的响应就实现在该方法中

public abstract class ActionResult

{

public abstract void ExecuteResult(ControllerContext context)

}

在之前创建的例子中Action方法返回的是一个类型为RawContentResult的对象顾名思义RawContentResult将初始化时指定的内容(字符串)原封不动地写入针对当前请求的HTTP响应消息中具体的实现如下所示

public class RawContentResult: ActionResult

{

public string RawData { get; private set; }

publicRawContentResult(string rawData)

{

RawData = rawData;

}

public override void ExecuteResult(ControllerContext context)

{

contextRequestContextHttpContextResponseWrite(thisRawData)

}

}

返回目录ASPNET MVC 框架揭秘

编辑推荐

ASP NET开发培训视频教程

Microsoft NET框架程序设计视频教程

Java程序性能优化让你的Java程序更快更稳定

Visual C++音频/视频技术开发与实战

上一篇:ASP.NET MVC 4框架揭秘:Action的执行(1)[1]

下一篇:ASP.NET MVC 4框架揭秘:第一章小结