BS原理
浏览器通过地址或链接访问到一个服务器,也就是发送了一个请求,在服务器端,有一个负责监听浏览器连接请求的套接字,有连接请求时就会创建一个专门的处理套接字,将请求的内容进行处理,响应给浏览器;
Asp.net运行原理
通过浏览器向asp.net网站的一个页面发送请求时,在服务器端首先是iis收到请求,iis一看是asp.net页面,直接就交给了asp.net isapi,它的主要任务就是安排asp.net_wp.exe处理请求,让它进行处理;
而asp.net_wp.exe主要任务就是将请求交给一系列成为http管道的托管对象;而http管道的中有一部分叫HttpRuntime,它根据内部的请求,最终交由ProcessRequestInternal进行处理,就是PR方法,这个是重点;
- 创建
HttpContext实例; - 对第一次请求进行初始化(
EnsureFirstRequestInit); - 创建
HttpWriter实例; - 通过调用
HttpApplicationFactory.GetApplicationInstance创建HttpApplication实例。 - 调用
HttpApplication实例的BeginProcessRequest异步处理请求 - 在处理管道的第8个方法时,创建请求的页面类对象,并转成
IHttpHandler接口对象; - 在11-12个事件的时候,执行页面类对象
PR方法,在这里有很多的事情要处理; - 一直到
EndRequest这个方法,管道结束,有服务器响应报文给浏览器;
生命周期
- 初始化对象,一个页面最初应被正确的初始化
- 导入
Viewstate数据,在LoadViewState这个事件中,所有的控件获得它们的第一个属性:Viewstate属性,这个属性用于判断这个页面是否访问完毕; - 用
LoadPostData处理Postback数据,服务器对页面上的控件提交的表单数据进行处理; - 导入对象,在
Load事件中,对象都实例化了(生命周期的最重要的一个过程); -
RaisePostBackChanged事件,要在所有的控件都被更新了以及Load事件完成后才进行的; - 处理客户端
PostBack事件
以上内容都是老师教的,没有出处,也可以说是随堂笔记