ASP.NET MVC请求处理和响应生成

时间:2014-04-23 11:42:18

标签: c# asp.net asp.net-mvc

我试图了解生成视图的确切方法是什么?我已经了解了当我们向服务器发送http请求时,会执行以下后续操作:

  1. 路由器正在创建ControllerContext类实例
  2. 路由器正在创建相应的控制器类实例
  3. 路由器正在调用相应的控制器操作。
  4. 在action方法返回actResult ActionResult的实例后,调用了actResult.ExecuteResult(ControllerContext context)
  5. 问题:我对请求处理的理解是否正确?而且我不明白究竟是什么产生了响应文本?我对生成响应主体的方法感兴趣吗?

1 个答案:

答案 0 :(得分:0)

您可以找到有关此HEREHERE的更多信息。

解决您的具体问题:
该操作返回结果。如果此结果是视图结果,则选择适当的视图引擎,然后此引擎将呈现视图。

我的第一个链接的详细信息:

查看结果

  

action方法接收用户输入,准备适当的响应数据,然后通过返回结果来执行结果   类型。结果类型可以是ViewResult,RedirectToRouteResult,   RedirectResult,ContentResult,JsonResult,FileResult和   EmptyResult。

查看引擎

  

执行视图结果的第一步涉及选择适当的视图引擎以呈现视图结果。它   由视图引擎的IViewEngine接口处理。默认情况下   Asp.Net MVC使用WebForm和Razor视图引擎。你也可以注册   您自己的自定义视图引擎到您的Asp.Net MVC应用程序,如图所示   下面:

protected void Application_Start() 
{ 
 //Remove All View Engine including Webform and Razor
 ViewEngines.Engines.Clear();
 //Register Your Custom View Engine
 ViewEngines.Engines.Add(new CustomViewEngine());
 //Other code is removed for clarity
} 

查看

  

Action方法可以返回文本字符串,二进制文件或Json格式的数据。最重要的操作结果是ViewResult,它使用当前视图引擎将HTML页面呈现并返回到浏览器。