ASP.NET运行时

1 web处理程序(iis) inetinfo.exe   asp.net应用程序 aspnet_wp.exe(iis5) w3wp.exe(iis6)
inetinfo.exe处理一个html请求(包括html页面、文本文件、jpeg 和 gif 图像等),如果是一个aspx请求,则将请求传递到aspnet_isapi.dll(多个请求就排队一个个来),再由aspnet_isapi.dll调用aspnet_wp.exe,对请求进行处理.同时aspnet_isapi.dll负责监测aspnet_wp.exe运行情况,当发现运行异常或挂起,则关闭aspnet_wp.exe.这样,不管asp.net应用出现什么问题,不会影响到web处理程序的运行.

2 aspnet_wp.exe创建HttpRuntime实例(每个AppDomain都有一个HttpRuntime类实例),HttpRuntime会初始化内部对象(比如Cache对象),同时创建上下文HttpContext类的实例,得到请求的http信息(比如HttpRequest).HttpRuntime实例通过HttpApplicationFactory工厂类维护一个HttpApplication池,当一个应用请求到达时,先检查有无可用的HttpApplication实例,如果没有,则根据global.asax创建并触发Application_OnStart事件.

3 一个请求的具体是由实现了IHttpHandler接口的类处理的,HttpApplication实例通过工厂类,根据machine.config文件中<httpHandlers>的定义实例化处理请求的类IHttpHandler定义了两个接口:IsReusable和ProcessRequest,每个特定处理的逻辑在ProcessRequest中定义.

4 如果是一个aspx请求,程序会加载一个命名为ASP.****_aspx的类,程序会先搜索全局程序集缓存 (GAC)、Bin和C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files文件夹,如果没有找到则会在C:/WINDOWS/Microsoft.NET/Framework/v1.1.4322/Temporary ASP.NET Files文件夹下创建一个随机命名的dll.

 

 

 

 

 

http://www.larcw.net/

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值