ASP.NET温故而知新学习系列之深度剖析ASP.NET架构—ASP.NET请求的处理过程(一)

来源:互联网 发布:下载cctv网络电视 编辑:程序博客网 时间:2024/05/16 05:04
       前言

  我为什么要写这一系列呢,因为只有了解运行机制,学好底层,对我们更深入的理解一定的问题有帮助。

  一:ASP.NET的工作原理

  我们根据下面这张图来说明ASP.NET是如何来工作的

  1.1 客户请求Web页

  我们知道ASP.NET是B/S结构,也就是服务器和浏览器这样一个结构,服务器可以有一台或者多台,对于浏览器可以有无数个,每个客户是通过浏览器来访问服务器的,所以第一步是客户请求Web页。

  1.2 Web服务器寻找指令文件

  于是这个指令就通过浏览器被发送到服务器上比如:http://www.menglin/test.apx,在服务器上开始寻找指令文件,在我们这里是寻找.aspx文件,如果服务器上没有装.Framework,对于.aspx文件服务器就不知道如何处理了。如果服务器已经装了.Framework,就会找这个指令。

  1.3 ASP.NET代码发送给公共语言运行时进行编译

  这个指令是谁来处理的呢?是aspnet_isapi.dll这个动态链接库来处理的,可以说在ASP.NET中所有的.aspx文件都是被aspnet_isapi.dll它来处理的,它的作用就是把.aspx文件发送给公共语言运行时进行编译,也就是发送给.Framework里面的公共语言运行时CLR进行编译。

  1.4 HTML流返回给浏览器

  编译完了以后,把HTML流返回给浏览器。

  1.5 浏览器处理HTML流并显示页面

  浏览器解释HTML流,并显示页面。

  可以看出Web服务器处理的过程就是调用aspnet_isapi.dll处理aspx文件的过程,处理的结果就是一个HTML静态页面。

   

  二:ASP.NET页面的执行流程

  2.1 每个.aspx文件实际上是继承page类的,在运行的过程中它从一个类变成了一个对象,这是一个实例化的过程。

  2.2 把类转化为一个对象以后呢,被CLR转化为HTML,发送给aspnet_iaapi.dll。

  2.3 aspnet_iaapi.dll然后和IIS交互,把HTML发送给IIS。

  2.4 IIS把HTML返回给浏览器。

  

  三:ISAPI

   我们前面好几次讲到aspnet_iaapi.dll,到底aspnet_iaapi.dll是个什么东西呢?

  在互联网开始时候,基本上Intent都是静态页面,静态页面是以.HTML文件为代表的,但是随着需求的发展,静态页面已经满足不了需求了,这时候开发者就需要扩展Web服务器的功能,这时候不同的Web服务器厂商都遵循了同一个主题“向Web服务器插入某些组件”,也就是说这在极大程度上丰富了Web服务器,对于Web服务器来说它可以进行功能的扩充,是通过加组件的方式,调用组件来实现一些功能的。所有的Web服务器都允许开发者自己来插入一些组件来增强Web服务器的功能,微软提出了ISAPI(全称是Intent Server API),所以到这里明白了,提供了一种技术,这种技术让开发者向Web服务器插入一些组件来扩充Web服务器的功能。

  ISASP经常用两个手段实现。

  3.1 ISAPI扩展

   ISAPI扩展是使用Win32动态链接库来实现的,我们之前提到的aspnet_iaapi.dll就是这种方式,这种扩展是通过dll来实现的。

  3.2 ISAPI过滤器

  客户端每次向服务器发送请求都要经过滤器的,客户端不需要在请求中指定过滤器,只需要把请求发送给Web服务器,Web服务器把请求传递给相关的过滤器,过滤器可能修改请求,执行某些操作。

  四:ASP.NET请求的处理过程

  ASP.NET请求的处理过程是基于管道模型的,在模型中ASP.NET把HTTP请求传递给管道中的所有模块,每个模块都接收HTTP请求并拥有完全控制权,模块可以用自认为合适的方式来处理请求,一旦HTTP请求经过所有HTTP模块,最终被HTTP处理程序所处理,HTTP处理程序队请求做一些处理,并且结果将再次经过管道中的HTTP模块。类似一个管道似的。

  

  

  

每天学习一点点,每天进步一点点 用文字记录工作,用文字记录人生
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 入户门对着窗户怎么办 院子门对着窗户怎么办 电梯入户同梯人怎么办 房门对着电梯门怎么办 房门对着电梯口怎么办 大门对着电梯门怎么办 房门和电梯对着怎么办 搬家与生肖相冲怎么办 颈椎生理曲度变直怎么办 整个背部长痘痘怎么办 卧室门对着厨房怎么办 卧室门正对厕所怎么办 进门正对厕所门怎么办 门口对着厕所门怎么办 厨房门比大门高怎么办 鼻子上山根横纹怎么办 墙与床的缝隙怎么办 床边与墙有间隙怎么办 抽了烟头晕恶心怎么办 9个月宝宝口臭怎么办 狗舔了人的伤口怎么办 狗舔了结痂伤口怎么办 狗狗指甲变黑了怎么办 狗狗不肯剪指甲怎么办 厕所门对厨房门怎么办 房间门对着镜子怎么办 门直对着楼梯口怎么办 厨房门对着客厅怎么办 卧室正对着马路怎么办 主卧厕所对着床怎么办 卧室门对着床头怎么办 主卧厕所门对床怎么办 老人晕车怎么办最有效方法 货车油刹不好用怎么办 7岁儿童喉咙有痰怎么办 3岁宝宝喉咙有痰怎么办 冰箱正对厨房门怎么办 买了连廊高层怎么办 想买电玩瑞文怎么办 财位旁边有窗户怎么办 入室门对卧室门怎么办