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 ...
随机推荐
- C# 语言规范_版本5.0 (第15章 委托)
1. 委托 **(注:此章非常重要,特别是对于图形界面相关的区别于MFC和QT等的消息机制,委托是基石.) 委托是用来处理其他语言(如 C++.Pascal 和 Modula)需用函数指针来处理的情况 ...
- Ansible Lookup
1. 文件内容的读取 --- - hosts: all vars: contents: "{{ lookup('file', '/etc/foo.txt') }}" tasks: ...
- [阿当视频]WEB组件学习笔记
— 视频看完了,自定义事件还不懂,等完全懂了再更新并完成整篇案例 1. JS分层和组件的种类浏览器底层包括HTML CSS JS(DOM/BOM/Style/Canvas 2D/WebGl/SVG) ...
- Quartz(任务调度)- Cron
参照:http://www.cnblogs.com/linjiqin/archive/2013/07/08/3178452.html 工具:在线生成Cron 语法规则: Seconds Minutes ...
- C1FlexGrid小结(转自http://www.cnblogs.com/C1SupportTeam/archive/2012/12/11/2812316.html)
C1FlexGrid控件来对一个表格格式中的数据进行显示,编辑,组和总结.该表格可以绑定到一个数据源,它可以对自己的数据进行管理. C1FlexGrid控件有一个包含以下元素的丰富的对象模型: 以下的 ...
- HDU - 3966 Aragorn's Story(树链剖分入门+线段树)
HDU - 3966 Aragorn's Story Time Limit: 3000MS Memory Limit: 32768KB 64bit IO Format: %I64d & ...
- JqGrid相关操作
JqGrid相关操作 根据jqGrid的文档,要想生成一个jqGrid,最直接的方法就是:$("#grid_id").jqGrid(options);也就是通过选择符得到一个tab ...
- KMP详解之二
KMP算法详解 如果机房马上要关门了,或者你急着要和MM约会,请直接跳到第六个自然段. 我们这里说的KMP不是拿来放电影的(虽然我很喜欢这个软件),而是一种算法.KMP算法是拿来处理字符串匹配的.换句 ...
- ios根据文本自适应 然后 搭建类似如下效果
UIView * headView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, self.tbSecond.size.width, 0)]; hea ...
- Debug / Inspect WebSocket traffic with Fiddler【转】
Introduction I have recently written a project using SignalR, which supports HTML 5 WebSocket. Howe ...