ASP.NET页面运行机制以及请求处理流程
2011-06-16 16:22
537 查看
IIS自身是不能处理像ASPX扩展名这样的页面,只能直接请求像HTML这样的静态文件,之所以能处理ASPX这样扩展名的页面,是因为IIS有一个ISAPI过滤器,它是一个COM组件。ASP.NET服务在注册到IIS的时候,就会添加一个Win32的扩展动态库aspnet_isapi.dll。并将扩展可以处理的页面扩展名(如ASPX)注册到IIS里面。扩展启动后,就根据定义好的方式来处理IIS所不能处理的页面。
当客户端请求一个服务器资源时,这个HTTP请求会被inetinfo.exe进程截获(www服务),然后Check请求资源的类型,并依据资源映射信息(存储在IIS元库中,一种IIS专用的配置数据库)将请求的资源分配给特定的处理程序模块。若请求的是静态资源(img,text,html等)则由IIS处理(IIS在本地Web Server上访问请求的文件),将内容输出到控制台,发出请求的浏览器就能接收到它了。若需要在服务器端处理的请求,则会被传到已注册的扩展模块中,aspx请求会被分配给aspnet_isapi.dll,让这个程序开始处理代码,生成标准的HTML代码,然后将这些HTML加入到原有的HTML中,最后把完整的HTML返回给IIS,IIS再把内容发送到客户浏览器。
1.IIS接收到客户请求
2. IIS把请求交给aspnet_isapi.dll处理
3.(如果是第一次运行程序)装载bin目录中的dll
4.(如果是第一次运行程序)读取各级webconfig中的配置
5.(如果是第一次运行程序)编译装载global.asax,初始化HttpApplication实例
6.创建响应请求的HttpContext
7.创建承载响应结果的HttpTextWriter
8.找到合适的HttpHandler(asp.net页面),处理http请求
9.处理session,异常
10.把处理结果反馈个客户 这就是可定制的HttpModule
当客户端请求一个服务器资源时,这个HTTP请求会被inetinfo.exe进程截获(www服务),然后Check请求资源的类型,并依据资源映射信息(存储在IIS元库中,一种IIS专用的配置数据库)将请求的资源分配给特定的处理程序模块。若请求的是静态资源(img,text,html等)则由IIS处理(IIS在本地Web Server上访问请求的文件),将内容输出到控制台,发出请求的浏览器就能接收到它了。若需要在服务器端处理的请求,则会被传到已注册的扩展模块中,aspx请求会被分配给aspnet_isapi.dll,让这个程序开始处理代码,生成标准的HTML代码,然后将这些HTML加入到原有的HTML中,最后把完整的HTML返回给IIS,IIS再把内容发送到客户浏览器。
1.IIS接收到客户请求
2. IIS把请求交给aspnet_isapi.dll处理
3.(如果是第一次运行程序)装载bin目录中的dll
4.(如果是第一次运行程序)读取各级webconfig中的配置
5.(如果是第一次运行程序)编译装载global.asax,初始化HttpApplication实例
6.创建响应请求的HttpContext
7.创建承载响应结果的HttpTextWriter
8.找到合适的HttpHandler(asp.net页面),处理http请求
9.处理session,异常
10.把处理结果反馈个客户 这就是可定制的HttpModule
相关文章推荐
- ASP.NET页面运行机制以及请求处理流程
- ASP.NET页面运行机制以及请求处理流程
- ASP.NET页面运行机制以及请求处理流程
- ASP.NET页面运行机制以及请求处理流程
- ASP.NET页面运行机制以及请求处理流程
- ASP.Net请求处理机制(5)【ASP.Net MVC请求处理流程】
- ASP.Net请求处理机制初步探索之旅(4):WebForm页面生命周期
- ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期
- ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期
- Asp.net的页面处理机制和流程
- ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
- ASP.Net请求处理机制初步探索之旅 - Part 4 WebForm页面生命周期
- ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
- ASP.Net页面请求处理流程
- ASP.Net页面请求处理流程
- ASP.NET整体运行机制+asp.net请求管道+页面生命周期
- ASP.NET整体运行机制+asp.net请求管道+页面生命周期+MVC整体运行机制原理图
- ASP.Net请求处理机制初步探索之旅 - Part 5 ASP.Net MVC请求处理流程
- ASP.NET页面请求处理流程
- ASP.NET 3.5核心编程学习笔记(1):ASP.Net页面请求处理流程