1  什么是asp.net?asp.net是一种编程语言吗?

asp.net是Microsoft公司推出的新一代建立动态web应用程序的开发平台,是一种建立动态web应用程序的新技术。

不是,asp.net只是一种用于创建交互式网页的框架,就像一本书只是文字的容器,作者用中文(或者其他语言)来编写。

2.net框架类是什么?

类是定义对象的蓝图,包含对象能够做什么,对象的属性为何等信息,.net框架类可以是.net中的任何类。

3 asp.net和.net框架类的关系?

asp.net是.net框架类的一部分,可以使用任何.net兼容的语言编写asp.net应用程序。

4 asp.net的优势?

a 高效的运行性能       【代码后置、缓存机制】 先由.net框架编译为.dll文件,然后在服务器上直接运行。

b 简易型、灵活性       【可自定义添加组件功能,且为不同数据源提供插入支持】

c 可管理性                【新增功能使得宿主环境变得更加简单】

d 生产效率高             【例:智能数据显示控件】

5 .net Framework 是什么?

.net Framework是微软公司退出的完全面向对象的软件开发与运行平台,具有两个主要的组件:

公共语言运行时(CLR):为多种语言提供了统一的运行环境,可以将运行库看作一个在执行时管理代码的代理。

以运行库为目标的代码成为托管代码,而不以运行库为目标的代码称为非托管代码。【在CLR中运行的代码成为托管代码(可管理代码),在CLR之外运行的代码成为非托管代码。】

CLR的作用是运行并维护编写的代码。

.net类库:可以使用它开发多种应用程序,包括传统的命令行或图形用户界面(GUI)应用程序,以及基于asp.net所提供的最新创建的应用程序。(如web窗体,XML webservices)

6 asp.net的运行原理

http向服务器发送请求,IIS接收,IIS接收之后会将请请求经过一些HttpModule的处理,这些都是系统默认的Module(用于获取当前应用程序的模块集合),然后IIS检查客户端请求页面类型,并为其加载相应的dll文件,之后将请求发送给能够处理该请求的模块集合HttpHandler组件。(HttpHandler组件,专门处理aspx文件)。最后返回请求。

【经过HttpModule处理的好处:a 为了一些必须的过程 b 安全性 c 提高效率 d 用户能够在更多的环节上进行控制,增强用户的控制能力。】

用户请求——IIS——(请求通过相应的dll文件发送到asp.net引擎)——http模块(asp.net引擎,用户请求通过http模块)——http处理模块(http处理模块被调用,并返回到用户请求文件)——通过http模块返回IIS——IIS——返回给用户

7asp.net运行机制

代码——(编译)——微软中间语言(MSIL)+元数据——(运行程序)——CLR接管——(进一步编译)——计算机本地语言。

note:MSIL:以简写的方式表示您编写的所有代码,编译为MSIL时,应用程序将会生成一些元数据。

元数据:关于应用程序的描述信息。(应用程序能做什么、归属哪里)。CLR根据元数据确定如何运行程序。

http请求可能的4条路线:

当用户第一次访问这个页面的时候:

用户请求——IIS——(加载.dll文件,经过httpmodules处理)——Httphandler[asp.net引擎]——(找到页面背后的类,并实例化一个临时对象)——response——客户端。

路线如下:request请求-模块-页面管理-asp.net页-aspx指令-页面加载类-类对象-页面管理-模块-response响应。

当用户在这个页面重新提交信息的时候:

用户发送请求,因用户与服务器之间的会话已经建立,同时对应的临时对象也在服务器中建立了,所以不用再经过初始化的页面工作。故此路线是按照httpmodules、httphandler直接与临时对象交互后返回的。

路线如下:request请求-模块-页面管理-类对象-页面管理-模块-response响应。

缓存:

在请求时如果需要调用asp cache(即asp缓存),临时对象直接从asp缓存提取信息并返回。

路线如下:request请求-模块-页面管理-类对象-asp.net缓存-输出缓存-response响应。

刷新页面:

http发送请求,服务器接收到时发现已经处理过了,并将结果存储到由一个默认httpmodule管理的输出缓存中,那么用户可以直接从这个缓存中提取信息并返回,而无需再重新处理一遍。

路线如下:request请求-模块-输出缓存-response响应。

8 响应模式

请求/应答模式:客户端发出请求,服务器返回存储在硬盘中的数据,对发送的东西不关心。【静态】

客户(web浏览器)——(使用web浏览器的URL找到)——服务器——(发送被请求文档)——客户端接收并显示。

事件驱动模式:服务器等待客户机发生事件,一旦发生该事件,服务器将采取行动,执行某些功能。

9 要运行asp.net页面需要在计算机上安装两种软件:Internet信息服务器和.net框架软件开发工具包(ADK)

asp.net基础概念总结的更多相关文章

  1. 快速入门系列--WCF--01基础概念

    转眼微软的WCF已走过十个年头,它是微软通信框架的集大成者,将之前微软所有的通信框架进行了整合,提供了统一的应用方式.记得从自己最开始做MFC时,就使用过Named Pipe命名管道,之后做Winfo ...

  2. Android Multimedia框架总结(五)多媒体基础概念

    转载请把头部出处链接和尾部二维码一起转载,本文出自: http://blog.csdn.net/hejjunlin/article/details/52431887 上篇中介绍了MediaPlayer ...

  3. WCF分布式开发步步为赢(1):WCF分布式框架基础概念

    众所周知,系统间的低耦合一直是大型企业应用系统集成追寻的目标,SOA面向服务架构的出现为我们的如何利用现有企业系统资源进行企业ERP系统设计和实现提供了重要的参考原则.SOA如此炙手可热,各大厂商都推 ...

  4. HTTP基础概念讲解

    HTTP基础概念讲解 作者:Danbo 时间:2016-03-17 1.1.http协议头部:curl -I www.meituan.com 1.2.静态和动态 静态网页:纯HTML格式的网页,后台没 ...

  5. .net基础概念

    .net基础概念 1.       .NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件..NET Framework 具有两 ...

  6. 【Machine Learning】机器学习及其基础概念简介

    机器学习及其基础概念简介 作者:白宁超 2016年12月23日21:24:51 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...

  7. TCP/IP基础概念及通信过程举例

    TCP/IP基础概念及通信过程举例 出现 上个世纪60年代,由于中央集中式网络的容灾性较弱,以美国国防部为中心的一家组织研究出分组交换网络.后来为了验证分组交换技术的实用性,ARPANET出现了,并且 ...

  8. Jmeter基础之---jmeter基础概念

    Jmeter基础之---jmeter基础概念 JMeter 介绍: 一个非常优秀的开源的性能测试工具. 优点:你用着用着就会发现它的重多优点,当然不足点也会呈现出来. JMeter 介绍: 一个非常优 ...

  9. 理解 angular2 基础概念和结构 ----angular2系列(二)

    前言: angular2官方将框架按以下结构划分: Module Component Template Metadata Data Binding Directive Service Dependen ...

随机推荐

  1. 关于新手与SEO误区的那些事儿

    常见的SEO误区,部落觉得对于新手来说,最容易出现问题的就是关健词堆砌了.记得部落自己最开始做网站的时候,基本每一篇文章都会布局很密的关健词.当然,对于新手网站SEO来说,远远不止这一点,或许最重要的 ...

  2. SaaS是个不错的生意模式和创业的选择(独立SAAS厂商的三大优势)

    1. 软件独特而又强大,界面绝美2. 数据存在本国3. 数据不留底 4. 可随时寻求卖身或者合作,不受制于人 --------------------------------------------- ...

  3. bzoj2006

    论将区间和转化为前缀和的重要性这题一旦转化为前缀和就非常明了了一段区间[l,r]的美妙程度就等于s[r]-s[l-1]对于这种无法计算出所有方案而取前k大的题目,我们一般分类别然后利用类别内的单调性用 ...

  4. 字符串(后缀自动机):NOI 2016 优秀的拆分

    [问题描述] 如果一个字符串可以被拆分为 AABB 的形式,其中 A 和 B 是任意非空字符串, 则我们称该字符串的这种拆分是优秀的. 例如,对于字符串 aabaabaa,如果令 A = aab, B ...

  5. 搜索(三分):HDU 3400 Line belt

    Line belt Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  6. 【数论】【扩展欧几里得】Codeforces 710D Two Arithmetic Progressions

    题目链接: http://codeforces.com/problemset/problem/710/D 题目大意: 两个等差数列a1x+b1和a2x+b2,求L到R区间内重叠的点有几个. 0 < ...

  7. 服务器之间免密码ssh登陆

    配置服务器f1(192.168.1.1)与服务器f2(192.168.1.2)之间免密码ssh登陆 一.首先,配置服务器主机名为f1.f2 1.更改/etc/sysconfig下的network文件, ...

  8. C# 基础小知识之yield 关键字 语法糖

    原文地址:http://www.cnblogs.com/santian/p/4389675.html 对于yield关键字我们首先看一下msdn的解释: 如果你在语句中使用 yield 关键字,则意味 ...

  9. NOI题库192 生日蛋糕

    192:生日蛋糕 总时间限制: 5000ms 内存限制: 65536kB 描述 7月17日是Mr.W的生日,ACM-THU为此要制作一个体积为Nπ的M层生日蛋糕,每层都是一个圆柱体. 设从下往上数第i ...

  10. postgresql使用文档之一 初始化数据存储区

    17.2. 创建一个数据库集群(Database Cluster) 在你能做任何事情之前,你必须在磁盘上初始化一块存储空间.我们称这为一个数据库集群(database cluster). 一个Data ...