ASP.NET MVC涉及到的5个同步与异步(1)

作者:   出处:互联网   2015-07-07 21:23:13   阅读:2

在ASP.NETMVC的整个体系中涉及到很多同步/异步的执行方式,虽然在前面相应的文章中已经对此作了相应的介绍,为了让读者对此有一个整体的了解,们来做一个总结性的论述。

Action方法的执行具有两种基本的形式,即同步执行和异步执行,而在ASP.NETMVC的整个体系中涉及到很多同步/异步的执行方式,虽然在前面相应的文章中已经对此作了相应的介绍,为了让读者对此有一个整体的了解,们来做一个总结性的论述。


 

一、MvcHandler的同步与异步


 

对于ASP.NET MVC应用来说,MvcHandler是最终用于处理请求的HttpHandler,它是通过UrlRoutingModule这个实现了URL路由的HttpModule被动态映射到相应的请求的。MvcHandler借助于ControllerFactory激活并执行目标Controller,并在执行结束后负责对激活的Controller进行释放,相关的内容请参与本书的第3章 Controller的激活 。如下面的代码片断所示,MvcHandler同时实现了IHttpHandler和IHttpAsyncHandler接口,所以它总是调用BeginProcessRequest/EndProcessRequest方法以异步的方式来处理请求。


 

 


 

public class MvcHandler : IHttpAsyncHandler, IHttpHandler, ...  {  //其他成员   IAsyncResult IHttpAsyncHandler.BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData);  void IHttpAsyncHandler.EndProcessRequest(IAsyncResult result);  void IHttpHandler.ProcessRequest(HttpContext httpContext);  } 

 

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat