Asp.Net 一个请求的处理流程

1、浏览器请求
  • 请求-准备环境-->处理请求
  Asp.Net 一个请求的处理流程_第1张图片
2、Aspnet 环境的创建
  • 客户请求
  • IIS区分静态文件还是动态文件,静态文件直接文件返回,动态文件通过aspnet_isapi.dll进行处理
  • 第一次访问创建AppDomain 和宿主环境(详细可以查看AspNet MVC中各种上下文理解)
  • 封装请求成HttpContext(同时实例化HttpRequest和HttpResponse
  • 若第一次访问则从global进行实例化HttpApplication(这里就会调用熟悉的Application_Start事件),得到HttpApplication进行初始化,并且完成19个管道事件的注册
  Asp.Net 一个请求的处理流程_第2张图片
 
3、19个管道事件
Asp.Net 一个请求的处理流程_第3张图片
4、AspNet Mvc 针对请求的处理
  • AspNet Mvc通过截取PostResolveRequestCache(第七个)事件,并将请求通过UrlRoutingModule进行处理请求通过MvcHandler进行处理请求,并最终响应请求
 
Asp.Net 一个请求的处理流程_第4张图片
 
5、AspNet WebForm针对请求处理
  • 在请求管道第八个事件PostMapRequestHandler进行请求WebForm事件,事件主流程包含(Silver--Start,Init、Load、Validation、Event、Render事件)
Asp.Net 一个请求的处理流程_第5张图片
参考:
http://www.cnblogs.com/edisonchou/p/3958305.html
http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle

你可能感兴趣的:(Asp.Net 一个请求的处理流程)