asp.net请求原理

本文详细介绍了ASP.NET请求从浏览器发起,经过IIS服务器,到工作进程处理,再到页面生命周期的全过程。涉及到的关键步骤包括浏览器的Socket通信、http.sys模块、IIS工作队列、Aspnet_isapi.dll、HttpRuntime、HttpApplication管道及页面生命周期的各个阶段。
摘要由CSDN通过智能技术生成

1、浏览器:浏览器本身是一个Socket客户端+渲染引擎。一方面,它将用户的请求封装成一个请求报文,通过Socket的方式将请求报文发送给IIS服务器。另一方面,它将IIS服务器发送来的响应报文做html解析。

 

2、IIS服务器:IIS服务器的操作系统分为内核模式和用户模式,内核模式中跑的是和系统相关的一些进程,其中有一个http.sys的模块,它主要负责监听浏览器发送过来的http请求。用户模式中跑的是一些应用程序,其中有一个IISAdmin主服务,它寄宿在Inetinfo.exe进程中,里面放的是IIS的主要配置信息(Metabase)。另外一个是w3svc管理服务,它寄宿在SvcHost.exe进程中。负责管理应用程序池和网站(网站的重启等),另外做一些初始化工作:初始化几个队列出来(根据主进程的配置信息),

 

3、当http.sys监听到一条来自客户端的请求时,把请求放到对应的工作队列里面去(工作队列有多个),再通知w3svc服务,w3svc服务看当前请求对应的网站处理程序有没有启动起来,如果已经启动起来,则直接让网站应用程序取对应的队列中取请求进行处理。如果没有启动起来,负责创建网站应用程序池。每个应用程序池中跑一个或多个网站,一个应用程序池可以启动多个进程,每个进程都称之为一个工作进程。工作进程到内核模块相应队列中取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值