ASP.NET


ASP.NET (正體)

Free Web Hosting with Website Builder

ASP.NET微软所提供的网站开发技术。程序设计师可以利用这些技术建置一个网站/页应用程序。ASP.NET 也是微软 XML Web Service 应用程序平台策略的基底功能之一。

很多人都把 ASP.NET 当做是一种编程语言,但它实际上只是一个由 .NET Framework 提供的一种开发平台 (development platform),并非编程语言。

在 .NET Framework 中,由 System.Web 命名空间来提供 ASP.NET 在基础上的支持。

目录

摘要说明

ASP.NET 这个名称,虽然是承袭微软以前的网站/页开发技术 ASP,但两者有着很大的差异。当时微软正在研发下一世代的应用程序基础架构(Framework, Foundation)时,提出了 ASP+ 以及下一代数据访问的功能,做为 ASP 以及 ADO 的后续版本,然而在当时,.NET 开始出现于微软的产品设计中,而 .NET 的本质又与目前 COM 应用程序有所差距,而在微软确立要以 .NET 为主流开发平台后,ASP+ 和新一代数据访问的功能即被纳入到 .NET 的平台中,造就了 ASP.NET 以及 ADO.NET 两项内核平台。

ASP.NET 可以说是微软重新改造 ASP 之后的产品,并将其和所有Microsoft .NET的应用程序,建构在 CLR 的基础上。程序设计师可以使用 .NET 平台所支持的编程语言(VB.NET 或是 C#)来撰写 ASP.NET 程序,当然也包括 Open Source 领域的语言,像是 Perl、Python。若拿 ASP.NET 与先前的 Scripting 技术比较,前者速度快的原因在于,.NET 平台会先把整个网站先编译成一个(或数个) dll 文件,然后让网站服务器执行。

在窗口应用程序过渡到网站应用程序之间的开发工作中,ASP.NET 亦试图让开发人员利用一系列的控件,来建立类似图形用户界面的操作环境。换句话说,ASP.NET 的开发环境,有这两个特点:

  • 拥有和窗口环境非常相似的Web 控件:像是 ButtonLabel 等等。这些控件都有各自的事件,除此之外,也可以利用代码来设置这些控件的属性。
  • .NET 平台会自行处理这些控件的所有细节:就好比我们丢一个控件在窗口应用程序,然后在画面上显示的动作类似。差别在于,在 Web 的环境中,.NET 平台会先处理控件在画面(Web Form)上产生的 HTML 标签,然后再把处理的结果送到使用者的浏览器中。


与传统的开发方式(Scripting Programming)相较,ASP.NET 也鼓励程序设计师采用事件驱动(Event-Driven Programming)或使用者图型界面(GUI)的方式进行开发工作,.NET 平台亦尝试将内置元件(如 ViewState)与现有的网页技术(如 Javascript)结合。.NET 平台是 ASP.NET 的基础内核架构。在这个内核架构中,包括有Runtime Environment(类似 Java 平台)、VM 以及 JIT、Class Library

在 ASP.NET 的环境里,开发人员可以在撰写代码时,把许多控件、或工具直接剪切,然后贴在其它类似性质的开发作业中。数据访问(Data Access)就是一个例子(把数据库中的记录显示在画面上)。

优势分析

  • 使用者自定义控件可以让多个网页当作样板一般套用:例如像网站上的菜单
  • 有许多类似窗口应用程序的控件,可用在网页应用程序的开发工作,让两者之间的转换更直觉。
  • 有许多的控件及类库让应用程序的开发工作更快速。

开发工具

可以用来开发 ASP.NET 应用程序的软件包,有下列几种:

版本

ASP.NET 1.0 于 2002 年与 .NET Framework 1.0 以及 Visual Studio .NET 1.0 (2002) 一起发行,提供了基础的 Web 控件,HTML 控件以及 HTTP 应用程序开发的支持等,此版本也可以开发 XML Web Service。

ASP.NET 1.1 于 2003 年与 .NET Framework 1.1 以及 Visual Studio .NET 1.1 (2003) 一起发行,对 ASP.NET 做了小幅度的修订,以及强化安全性,并提供数个 ASP.NET Starter Kit 做为开发人员学习与入门之用[1]

ASP.NET 2.0 于 2005 年与 .NET Framework 2.0 以及 Visual Studio 2005 一起发行,可说是 ASP.NET 发展的里程碑之一,它新增了下列的功能:

  1. 编译模型的改变,由原本只产生唯一二进制文件的方式,变为产生数个二进制文件的编译模型,称为预先编译 (Pre-compilation)。
  2. 新增 Master Page 功能,让开发人员能更容易的设计出一致化的网站排版 (layout)。
  3. 新增 Web Part Framework,让开发人员能很容易的开发出类似 SharePoint 那样的个人化网站。
  4. 新增 Provider-Based 的内置功能,例如 Membership, Role, Profile 等,简化开发此类型应用程序的时程。
  5. 新增 Menu, TreeView, SiteMap 等控件。
  6. 新增比 DataGrid 更强的 GridView 数据控件。
  7. 新增数据来源控件,可以简化开发人员的数据访问工作,如 SqlDataSource, AccessDataSource, ObjectDataSource 等。
  8. 新增网站自我管理的 Web Site Management Tool。
  9. 其他新增功能,可参考 MSDN Library 的 ASP.NET 简介。

至此,ASP.NET 的基础已大致完备,自 ASP.NET 2.0 起,微软不再对基础部份做功能上的新增,而使用 Feature Pack 或 Extensions 的方式来添加新功能。诸如:

  • ASP.NET AJAX: 提供 ASP.NET 在 AJAX 上的充份支持。
  • ASP.NET AJAX Control Toolkit: 提供 ASP.NET AJAX 可用的多种实用控件。
  • ASP.NET MVC Framework (Model-View-Controller): 让 ASP.NET 支持 MVC 功能 (此功能目前为 Preview 4 版本)。
  • ASP.NET Extensions: 包含 ASP.NET Dynamic Data Control,ASP.NET Media Control 以及 ASP.NET 的 Silverlight 支持。

目前 ASP.NET 已发展至 3.5,但它是由 ASP.NET 2.0 为基础,并加上本地的 AJAX 支持以及 .NET Framework 3.5 的新特性 (例如 LINQ) 所完成的,原有的 ASP.NET 2.0 应用程序仍可以在 ASP.NET 3.5 上执行。

参考资料


您可以在维基教科书中查找此百科条目的相关电子教程:
ASP.NET








Why are we here?
All text is available under the terms of the GNU Free Documentation License
This page is cache of Wikipedia. History