ASP.
NETFramework深度历险
作者:3710167@qq.com时间:2002/05/01
(此PDF电子
文档可以自由传播,拷贝,打印)(探讨技术
问题可以联系我:3710167@qq.com:3710167@qq.com)
2}
第四章
ASP.NETFramework深度历险
(3710167@qq.com)
写在前面的话
这篇电子文档本来是作为一本打算出版的技术书籍的其中一个章节撰写的,各位在阅读的时候会注意到这一点(带有章节编号),但是由于
工作繁忙和其他的一些原因,这本技术书籍未能出版.其实出版与否不重要,重要的是如果能对大家在
学习ASP.NET的过程中有所帮助就足够了.
最初这份电子文档是在www.dev-club.com论坛上面陆续发表的,但是由于论坛的条件限制,无法将完整的文章展现在大家面前.在长时间的忙碌工作之后,终于有时间将这篇电子文档整理出来配上插图以及C#代码,方便大家阅读.如果这篇电子文档能对使得你对ASP.NET技术有更深层次的理解,我就会高兴不已了,:-)
如果你想要索取相关的C#代码,可以发送电子邮件到:3710167@qq.com,并在邮件主题注明:"索取《ASP.NET深度历险》
源代码".
目前从事的工作的.NETFramework技术架构和组件开发的研究,如果有志同道合的朋友,也希望我们能多多探讨.
第四章
ASP.NETFramework深度历险
3
第四章ASP.NETFramework深度历险
本章内容主要是深入的探讨有关ASP.NET架构(ASP.NETFramework)方面的技术细节和核心机制.ASP.NET技术一种强大的技术,其相对于以往的ASP技术而言,它已经不是简单的进步可以形容的了,而是一场彻底的Web开发技术革命.而我们只有透彻的了解才能真正的驾驭它.如果不深入的了解一些ASP.NETFramework内部的一些机制,我们即便是口口声声说自己使用ASP.NET技术来构建Web应用
程序其实也和以前的ASP没有什么两样的,一方面ASP.NET技术为了我们的快速开发而封装了所有的技术细节,但是另一方面,也间接的使我们成了简单的Codingman,只是机械的去用ASP.NET提供出来的种种便利的控件或者事件接口.如果想成为真正的ASP.NET开发高手,透彻的深入理解ASP.NETFramework底层技术细节是不可避免的,也是必须要去做的,否则你只能成为浮于表面的Codingman.在这里本章内容不打算简单介绍ASP.NET的入门知识,我们也不会浪费时间去做这些.ASP.NET除了名字和古老的ASP有些相同外,已经是完完全全的改变了,虽然你仍能在ASP.NET中发现你熟悉的Session,Application等等对象,但是不要尝试将他们同远古的ASP时代的Session等等画上等号,他们的实现机制和技术细节都已经是完全的不同了.让我们来慢慢的深入到ASP.NETFramework的核心内部,看看它是如何实现的,看看她是如何能承担起下一代Web开发技术平台这个美誉的.4.1,ASP.NETFramework深度历险–一个HTTP请求的生命周期
在基于WEB的应用程序开发当中,其核心就是在客户端机器以及服务器端机器之间通过HTTP协议相互传递需要的信息,因此,了解一个WEB服务器是如何处理HTTP请求的就显得格外的重要了.深入的理解一个HTTP请求的生命周期对于今后的WEB应用程序开发也是格外重要的.在本节,我们就一同来了解一下一个HTTP请求的生命周期吧.4.1.1回顾ASP时代的HTTP请求处理过程在这一小节内,我们来跟随考古学家共同了解一下古老的ASP运行机制:
4}
第四章
ASP.NETFramework深度历险
(3710167@qq.com)
在以前的ASP时代,当你请求一个*.asp文件的时候,这个HTTP请求首先会被一个名为inetinfo.exe进程所截获,这个inetinfo.exe进程实际上就是WWW服务进程,在截获这个HTTP请求之后它会将这个请求转交给asp.dll进程,asp.dll进程就会解释执行这个asp叶面,然后将解释后的数据流返回给客户端浏览器.我们可以通过下面的图来清楚的了解古老的ASP时代,服务器进程是如何处理来自客户端的HTTP请求的: