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用于通过Internet生成交互式的,数据驱动的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>)的服务器端副本。

  • 服务器控件,有助于开发复杂的用户界面。例如,“日历”控件或“网格视图”控件。

ASP.NET是一项技术,可在包含所有与Web相关的功能的.Net框架上工作。.Net框架由面向对象的层次结构组成。ASP.NET Web应用程序由页面组成。当用户请求ASP.NET页面时,IIS将页面的处理委托给ASP.NET运行时系统。

ASP.NET运行时将.aspx页转换为类的实例,该类继承自.Net框架的基类页。因此,每个ASP.NET页都是一个对象,其所有组件(即服务器端控件)也是对象。

.Net Framework 3.5的组件

在进入下一个关于Visual Studio.Net的会话之前,让我们看一下.Net Framework 3.5的各个组件。下表描述了.Net Framework 3.5的组件及其执行的工作:

组件及其说明
(1)通用语言运行时或CLR
它执行内存管理,异常处理,调试,安全性检查,线程执行,代码执行,代码安全,验证和编译。由CLR直接管理的代码称为托管代码。编译托管代码时,编译器会将源代码转换为独立于CPU的中间语言(IL)代码。即时(JIT)编译器将IL代码编译为特定于CPU的本地代码。
(2).Net Framework类库
它包含一个巨大的可重用类型库。类,接口,结构和枚举值,它们统称为类型。
(3)通用语言规范
它包含.Net支持的语言的规范以及语言集成的实现。
(4)通用型系统
它提供了在运行时声明,使用和管理类型以及跨语言通信的准则。
(5)元数据和程序集
元数据是描述程序的二进制信息,它可以存储在便携式可执行文件(PE)或内存中。程序集是一个逻辑单元,由程序集清单,类型元数据,IL代码和一组资源(如图像文件)组成。
(6)Windows表单
Windows窗体包含应用程序中显示的任何窗口的图形表示。
(7)ASP.NET和ASP.NET AJAX
ASP.NET是Web开发模型,而AJAX是ASP.NET的扩展,用于开发和实现AJAX功能。ASP.NET AJAX包含允许开发人员在不完全重新加载页面的情况下更新网站上的数据的组件。
(8)ADO.NET
它是用于处理数据和数据库的技术。它提供对数据源(如SQL Server,OLE DB,XML等)的访问。ADO.NET允许连接到数据源,以检索,操纵和更新数据。
(9)Windows Workflow Foundation(WF)
它有助于在Windows中构建基于工作流的应用程序。它包含活动,工作流运行时,工作流设计器和规则引擎。
(10)Windows Presentation Foundation
它提供了用户界面和业务逻辑之间的分隔。它有助于使用文档,媒体,二维和三维图形,动画等来开发外观精美的界面。
(11)Windows Communication Foundation(WCF)
它是用于构建和执行连接的系统的技术。
(12)Windows CardSpace
它提供了访问资源和在Internet上共享个人信息的安全性。
(13)LINQ
它使用类似于传统查询语言SQL的语法为.Net语言赋予数据查询功能。