逐步解析ASP.NET请求响应流程图(B/S IIS)

为了记忆深刻:我用文字再叙述一遍

1.浏览器将请求的信息封装成Http协议报文,发送给服务器。

2.IIS负责监听80端口,接受浏览器的报文,如果是静态文件,从服务器找到静态文件转换成 byte[] 然后通过代理socket响应给 浏览器。

3.如果是动态文件 IIS处理不了 交给aspnet_isapi.dll扩展,扩展将请求交给 .NetFramework的CLR中处理(即asp.net生命周期)。

第二步

IIS的核心进程inetinfo.exe交给aspnet_isapi.dll 

扩展启动CLR(workProcess进程是,aspnet_wp.exe(xpIIS5),w3wp.exe(IIS6,IIS7))的AppDomain交给ISAPIRuntime 交给一般处理程序的ProcessRequest方法处理完成后返回给aspnet_isapi.dll  最终响应给浏览器

第三步

ISAPIRuntime.ProcessRequest 通过ecb句柄创建HttpWorkRequest(封装的是报文头) 调用HttpRuntim.PR()根据ecb句柄创建HttpContext

从HttpApplicationFactory拿到HttpApplication 然后走23个管道事件

转载于:https://www.cnblogs.com/cheshui/archive/2012/09/26/2704730.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值