asp.net是一个web开发平台,它提供了一个编程模型,一个全面的软件基础设施以及为pc和移动设备构建健壮的web应用程序所需的各种服务。
asp.net在http协议之上工作,并使用http命令和策略来设置浏览器到服务器的双向通信和协作。
asp.net是microsoft .net平台的一部分。asp.net应用程序是编译代码,使用.net框架中存在的可扩展和可重用组件或对象编写。这些代码可以在.net框架中使用整个类的层次结构。
asp.net应用程序代码可以用以下任何一种语言编写:
asp.net是通过互联网产生交互的,数据驱动的web应用程序。它由大量的控件(如文本框,按钮和标签组成,配置和操作代码来创建html页面)组成。
asp.net web窗体将事件驱动的交互模型扩展到web应用程序。浏览器向web服务器提交web表单/窗体,服务器返回完整的标记页面或html页面作为响应。
所有客户端用户活动会被转发到服务器进行有状态处理。服务器处理客户端操作的输出并触发反应。
现在,http是一个无状态的协议。asp.net框架有助于存储有关应用程序状态的信息,其中包括:
页面状态是客户端的状态,即web表单中各种输入字段的内容。 会话状态是从用户访问和使用的各种页面(即总体会话状态)获得的集体信息。为了更清楚地理解这个概念,这里来看看一个购物车的例子。
用户将商品项添加到购物车。商品项是从一个页面中选择的,比如商品项的页面,总收集的商品项目和价格显示在不同的页面上,比如购物车页面。但是只有http是不能跟踪来自各种页面的所有信息的。asp.net会话状态和服务器端基础结构跟踪会话中全局收集的信息。
asp.net运行时在生成asp.net运行时代码能同时跨页面请求在页面服务器之间传递页面状态,并将服务器端组件的状态合并到隐藏字段中。
这样,服务器就会知道整个应用程序状态,并以两层连接的方式运行。
asp.net组件模型提供了各种asp.net页面的构建块。基本上它是一个对象模型,它描述了:
<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
的组件及负责执行的工作:
编号 | 组件 | 描述 |
---|---|---|
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.h3.com/ado.net/ |
9 | windows工作流(wf) | 它有助于在windows中构建基于工作流的应用程序。它包含活动,工作流运行时,工作流设计器和规则引擎。 |
10 | windows presentation foundation(wpf) | 它提供了用户界面和业务逻辑之间的分离。它有助于开发使用文档,媒体,二维和三维图形,动画等视觉震撼界面。 |
11 | windows通信基础(wcf) | 这是用于构建和执行连接系统的技术。 |
12 | windows cardspace | 它提供了在互联网上访问资源和共享个人信息的安全性。 |
13 | linq | 它使用类似于传统查询语言sql的语法将数据查询功能赋予.net语言。 |