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

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

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

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

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

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

第二步

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

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

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

第三步

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

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

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

你可能感兴趣的:(asp.net)