ASP.NET - 简介



ASP.NET 是一个 Web 开发平台,它提供编程模型、全面的软件基础结构以及构建健壮的 Web 应用程序(适用于 PC 和移动设备)所需的各种服务。

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>。

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

ASP.NET 是一种在 .NET 框架上运行的技术,其中包含所有与 Web 相关的功能。.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 框架类库

它包含一个庞大的可重用类型库。类、接口、结构和枚举值,这些统称为类型。

(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

它为访问资源和在互联网上共享个人信息提供安全性。

(13) LINQ

它使用类似于传统查询语言 SQL 的语法,为 .NET 语言赋予数据查询功能。

广告