这些东西在msdn上都有,我不过是口语话一点.
asp.net的原理从小到大来看,分为三个部分,组件模型,页面模型,http运行时.这里讲页面模型.
首先讲的是,不管1.1还是2.0页面输出都是靠C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files文件里面的类来进行的,里面的xml是用来索引,.delete表示应项被更新,而创建页面的过程是被缓存了的.
不管是aspx页还是cs页,都是被编译的.下面我们看看过程.
1.1的
这里sdk1.1里面的图
当请求webform1.aspx的时候,一般先扫描一下看看格式对不对(我猜的,因为每次都看到它调试from runat=server),然后去第一行看关连的cs文件,运行完cs文件,再看aspx里面的内容,实际它做的事,就是继承cs里面的类,然后多态一下自己的aspx里面的逻辑,最终生成一个aspx类,编成dll,输出,比如 webform1类,它一定会生成一个叫webform1_aspx的类放在C盘下的那个Temporary ASP.NET Files里面.下回调用的时候就用它了.
这里面要注意一点的事,为什么服务器控件不用new,我想是那个aspx的页把他new了,猜的而已,回头看
2.0
其实差不多,不过是在生成aspx类的时候,cs生成一部分代码,apx生成一部份代码,拼一下,再让一个类继承一下罢了,原来那些个窗体隐藏代码都放到生成aspx类里面去了.
还有一个基制,就是如何通过读aspx文件生成一个类,这个谁做了,下次研究.
相关文章:ASP.NET 页类概述(msdn),ASP.NET 网页代码模型