.NET FrameWork框架 是一套应用程序开发框架,主要目的提供一个开发模型.
主要的两个组件:
公共语言运行时(Common Language Runtime)(CLR):
提供内存管理、线程管理和远程处理等核心服务,并且还强制实施严格的安全类型,提高代码的安全性和可靠想.
.NET Framework类库:
与CLR紧密集成,可以使用它开发多种应用程序和服务.主要包括控制台应用程序、Windows窗体应用程序、
WindowsPresentationFoundation(WPF)应用程序(一个类库和一 组API,用于创建在Web服务与客户端之间发送消息的系
统)、ASP.net网站、Web服务、Windows服务、基于WCF的面向服务应用程序和WF的启用工作流程的应用程序等.
ASP.NET是什么?
Active Server Pages(动态服务器页面,运行于IIS之中的程序)
ASP.net是一个统一的Web开发模型,能使用尽量少的代码生成企业级的ASP.net网站所必须的各种服务.
1 、与Framework完美结合.
对于Framenwork框架,在开始已经解释.
2、ASP.net是编译型还是解释型?
是编译型:
1) ASP.net网页首次被访问,CLR加载了IL之后,当每个方法——请注意这是IL中的概念——第一次被执行时,就会使用JIT将IL代码进行编译为机器码。(MicrosoftIntermediate(中间的)
Language,MSIL).
2)ASP.net页面实际执行,直接访问被编译成的机器语言.
IIS(Internet Information Services信息服务)
提供了集成、可靠Web服务器功能,运行ASP.net网站需要IIS支持.
IIS(互联网信息服务)是一种Web网页服务组件,分别用于网页浏览、文件传输、新闻服务和邮件发送等方面,使得在网络上发布信息变的容易.
通俗的讲:
IIS,就是一个网页服务器.允许你把用HTML格式的网页文件放到一个连在网络上的计算机上面,供别人浏览.就像新浪网站一样,把它的全部文件,放到一个连在网络上的计算机上,设置一个缺省目录,我们只要在在浏览器中输入新浪的网址,就可以访问了.
用asp.net生命周期解释页面首次执行比实际执行(二次执行)慢的原因?
先看一张asp.net生命周期的直观图
下面我来讲述一下上面这张图所表达的意思:
- 蓝色箭头表示用户的第一次请求,当用户的请求(以http协议的请求,端口默认是80)到达服务器时,iis软件监听到80端口有新的请求,iis软件会根据用户请求的url的后缀来判断用哪个应用程序处理,如果是以.aspx为后缀的请求,则iis软件会将请求递交给asp.net应用程序处理。asp.net拿到这个请求后,将请求的这个页面进行编译成类文件并保存起来,然后实例化这个类的一个对象,最后响应给用户并销毁该页面对象,用户就可以看到请求的页面了。
- 橙色箭头表示用户第二次请求,asp.net拿到请求之前的步骤跟第一次请求一样;当asp.net拿到这个请求后,它会去查找有没有这个请求所 对应的类文件,如果找到了直接实例化这个类的对象给用户并销毁(省去了编译这一步,速度提高了);如果没有找到,重新编译这个页面类并实例化对象给用户, 然后销毁。所以当我们第一次请求页面的时候会比较慢就是这个多了个编译的过程。
大概的过程就是这样,在这些过程里asp.net应用程序发生了什么,我们还要更进一步的了解。
asp.net总共分为三个生命周期:编译生命周期、应用程序生命周期、页面对象生命周期。
后面的文章是对每个生命周期的讲解。。。