知识大全 ASP.NET MVC 4框架揭秘:Controller的激活与URL路由[2]

Posted 框架

篇首语:怀抱观古今,寝食展戏谑。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ASP.NET MVC 4框架揭秘:Controller的激活与URL路由[2]相关的知识,希望对你有一定的参考价值。

ASP.NET MVC 4框架揭秘:Controller的激活与URL路由[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  public class MvcHandler : IHttpAsyncHandler IHttpHandler IRequiresSessionState

  

  //其他成员

  public RequestContext RequestContext get; private set;

  public bool IsReusable

  

  get return false;

  

  public MvcHandler(RequestContext requestContext)

  

  this RequestContext = requestContext;

  

  IAsyncResult BeginProcessRequest(HttpContext context AsyncCallback cb

  object extraData)

  

  IControllerFactory controllerFactory =

  ControllerBuilder Current GetControllerFactory()

  string controllerName =

  this RequestContext RouteData GetRequiredString( controller )

  IController controller = controllerFactory

   CreateController(this RequestContext controllerName)

  if (controller is IAsyncController)

  

  try

  

  //调用BeginExecute/EndExecute方法以异步的方式执行Controller

  

  finally

  

  controllerFactory ReleaseController(controller)

  

  

  else

  

  try

  

  //调用Execute方法以异步的方式执行Controller

  

  finally

  

  controllerFactory ReleaseController(controller)

  

  

  

  

  由于MvcHandler同时实现了IHttpHandler和IHttpAsyncHandler接口 所以它总是以异步的方式被执行(调用BeginProcessRequest/EndProcessRequest方法) BeginProcessRequest方法通过RequestContext对象得到目标Controller的名称 然后利用当前ControllerBuilder创建的ControllerFactory激活Controller对象 如果Controller类型实现了IAsyncController接口 则以异步的方式执行Controller 否则采用同步执行方式 在被激活Controller对象被执行之后 MvcHandler会调用ControllerFactory的ReleaseController对其进行释放清理工作

       返回目录 ASP NET MVC 框架揭秘

       编辑推荐

       ASP NET开发培训视频教程

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

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

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

cha138/Article/program/net/201311/16087

相关参考

知识大全 ASP.NET MVC 4框架揭秘:总体设计

ASP.NETMVC4框架揭秘:总体设计  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  第章&n

知识大全 ASP.NET MVC 4框架揭秘:ControllerFactory[2]

ASP.NETMVC4框架揭秘:ControllerFactory[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 ASP.NET MVC 4框架揭秘:ControllerFactory[1]

ASP.NETMVC4框架揭秘:ControllerFactory[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们

知识大全 ASP.NET MVC 4框架揭秘:Controller(1)

ASP.NETMVC4框架揭秘:Controller(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 ASP.NET MVC 4框架揭秘:Controller(3)

ASP.NETMVC4框架揭秘:Controller(3)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 ASP.NET MVC 4框架揭秘:Controller(2)[2]

ASP.NETMVC4框架揭秘:Controller(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 ASP.NET MVC 4框架揭秘:Controller(2)[1]

ASP.NETMVC4框架揭秘:Controller(2)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起

知识大全 ASP.NET MVC 4框架揭秘:CBuilder(1)[1]

ASP.NETMVC4框架揭秘:CBuilder(1)[1]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 ASP.NET MVC 4框架揭秘:CBuilder(1)[2]

ASP.NETMVC4框架揭秘:CBuilder(1)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看

知识大全 ASP.NET MVC 4框架揭秘:CBuilder(2)[2]

ASP.NETMVC4框架揭秘:CBuilder(2)[2]  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看