ASP.NET之.NET FrameWork框架
.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总共分为三个生命周期:编译生命周期、应用程序生命周期、页面对象生命周期。
后面的文章是对每个生命周期的讲解。。。
ASP.NET之.NET FrameWork框架的更多相关文章
- ASP.NET在IIS7中如何更改网站的.net framework框架版本
IIS7安装好以后使用了.net 2.0 framework框架,经过折腾发现如下方法可以更改框架版本,从而可以部署使用其他版本框架开发的网站 方法一:建立网站时设置.net框架版本 方法二:对于已经 ...
- .Net 初步学习笔记之一——.Net 平台与.Net FrameWork框架的关系
.Net 包含两部分 .Net平台 和.Net FrameWork 框架 1..Net FrameWork框架包含于.Net平台. .Net FrameWork提供环境和支撑保证.Net平台运行. 2 ...
- ABP 教程文档 1-1 手把手引进门之 ASP.NET Core & Entity Framework Core(官方教程翻译版 版本3.2.5)
本文是ABP官方文档翻译版,翻译基于 3.2.5 版本 官方文档分四部分 一. 教程文档 二.ABP 框架 三.zero 模块 四.其他(中文翻译资源) 本篇是第一部分的第一篇. 第一部分分三篇 1- ...
- 使用ASP.NET MVC+Entity Framework快速搭建系统
详细资料: http://www.cnblogs.com/dingfangbo/p/5771741.html 学习 ASP.NET MVC 也有一段时间了,打算弄个小程序练练手,做为学习过程中的记录和 ...
- ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 配置 EF 框架服务 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 配置 EF 框架服务 上一章节中我们了解了 Entity ...
- .NET6 平台系列2 .NET Framework框架详解
系列目录 [已更新最新开发文章,点击查看详细] 什么是 .NET Framework? .NET Framework 是 Windows 的托管执行环境,可为其运行的应用提供各种服务. 它包括 ...
- ASP.NET与.NET Framework和C#的关系
你好,是我琉忆. 今天我们讲一讲ASP.NET与.NET Framework和C#的关系. 在开始介绍ASP.NET之前,我们需要先了解以下运行ASP.NET的开发平台.NET框架.如果你之前学过C# ...
- 感恩回馈,《ASP.NET Web API 2框架揭秘》免费赠送
在继<WCF全面解析(上下册)>.<ASP.NET MVC 4框架揭秘>之后,我的另一本书<ASP.NET Web API 2框架揭秘>( 本书详细信息见< ...
- 《ASP.NET Web API 2框架揭秘》样章(PDF版本)
<ASP.NET Web API 2框架揭秘>(详情请见<新作<ASP.NET Web API 2框架揭秘>正式出版>)以实例演示的方式介绍了很多与ASP.NET ...
随机推荐
- TreeSet与TreeMap的源码分析 JDK7
TreeSet存储原则是:不可重复,有序的. public TreeSet() { this(new TreeMap<E,Object>()); } public TreeSet(Comp ...
- abowman
http://abowman.com/google-modules/ball-clock/
- juit测试中报错:org.hibernate.HibernateException: Unable to get the default Bean Validation factory
org.hibernate.HibernateException: Unable to get the default Bean Validation factory 解决方法: 解决方案: 在hib ...
- 私有云Rabbitmq 集群部署
默认openstack使用rabbitmq做信息队列,如果想要是云高可用,那么需要对每个涉及的组件都进行高可用配置,本文介绍如何使用rabbitmq 做高可用 高可用方法 通过 Erlang 的分布式 ...
- 小团队git开发模式
实验室要使用Git进行代码管理,但是git非常复杂,各种开发模式也是层出不穷.作为新手的偶们很是发囧啊!!网上搜了一下,发现很多并不适合我们小团队运作(它本身就是为Linux内核管理而开发的分布式代码 ...
- 《JavaScript高级程序设计》读书笔记 ---单体内置对象
Global对象Global(全局)对象可以说是ECMAScript 中最特别的一个对象了,因为不管你从什么角度上看,这个对象都是不存在的.ECMAScript 中的Global 对象在某种意义上是作 ...
- SVN-Attempted to lock an already-locked dir错误
svn更新时,文件夹被锁死. 解决办法: 右键该文件,在team(版本管理)里面执行"清除"操作后,问题解决了.
- wps使用积累
1.word加批注: 选中文字--插入--批注
- 使用bootstrap建立响应式网页——通栏轮播图(carousel)
1.bootstrap提供了js插件——轮播图 我们还是照旧,直接拿过来用,需要改的地方再说. 2.修改 小屏幕看小图,大屏图看大图:这个可以利用自定义属性(data-XXX)data-img-lg( ...
- 第一百一十节,JavaScript匿名函数和闭包
JavaScript匿名函数和闭包 学习要点: 1.匿名函数 2.闭包 匿名函数就是没有名字的函数,闭包是可访问一个函数作用域里变量的函数.声明:本节内容需要有面向对象和少量设计模式基础,否则无法听懂 ...