[翻译]了解ASP.NET底层架构(完)

本文详细介绍了ASP.NET从IIS接收请求到处理器处理的全过程,包括启动工作进程、加载.NET运行时、创建IsapiWorkerRequest对象及HttpContext对象、触发管道事件等关键步骤。
导读:
   我说的这些对你来说够底层了吗 ?
  
  唷-我们已经走完了整个请求处理过程了.这过程中有很多底层的信息,我对HTTP模块和HTTP处理器是怎么工作的并没有描述的非常详细.挖掘这些信息相当的费时间,我希望在了解了ASP.NET底层机制后,你能获得和我一样的满足感.
  
  在结束之前让我们快速的回顾一下我在本文中讨论的从IIS到处理器(handler)的过程中,事件发生的顺序
  
  IIS获得请求
  检查脚本映射中,此请求是否映射到aspnet_isapi.dll
  启动工作进程(IIS5中为aspnet_wp.exe,IIS6中为w3wp.exe)
  .NET运行时被载入
  IsapiRuntime.ProcessRequest()被非托管代码调用
  为每个请求创建一个IsapiWorkerRequest
  HttpRuntime.ProcessRequest()被工作进程调用
  以IsapiWorkerRequest对象为参数创建HttpContext对象
  调用HttpApplication.GetApplicationInstance()来从池中取得一个对象实例
  调用HttpApplication.Init()来开始管道事件并挂接模块和处理器
  HttpApplicaton.ProcessRequest被调用以开始处理.
  管道中的事件被依次触发
  处理器被调,ProcessRequest函数被触发
  控制返回到管道中,后处理事件被依次触发
  
  有了这个简单的列表,记住这些东西并把他们拼在一起就变得容易多了.我时常看看它来加深记忆.所以现在,回去工作,做一些不那么抽象的事情…
  
  虽然我都是基于ASP.NET1.1来进行讨论的,不过在ASP.NET2.0中这些处理过程看上去并没有发生太大的变化.
  

本文转自
http://www.cnblogs.com/tmfc/archive/2006/09/02/493323.html  
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值