
本章内容
◆ 了解.NET体系
◆ 了解ASP.NET 3.5的功能和作用
◆ 学会安装ASP.NET的运行环境
◆ 学会安装Visual Studio 2008
◆ 能够使用Visual Studio 2008创建并运行ASP.NET应用程序
本章重点
◆ ASP.NET 3.5环境的安装与配置
◆ Visual Studio 2008的安装与使用
第1章 .NET框架与ASP.NET概述
ASP.NET是微软新型体系结构.NET的一部分,它并不是ASP的升级版本,而是一个全新的体系和技术,用户要了解ASP.NET,首先需要了解微软的.NET战略。本章将介绍.NET的意义、框架结构及.NET技术中相关的概念。
1.1 .NET简介
随着网络大潮的到来,IT产业,尤其是软件业发生了很大的变化。作为软件业领袖的微软公司为了保持其在业界的领先地位,于2000年6月22日正式对外宣布了.NET战略,.NET也迅速成为业界瞩目的焦点。事实上,.NET在微软内部被称为第二次重要转折,是从MS-DOS向Windows转化后的又一次策略上的大变换。
1.1.1 .NET
.NET的定义颇为模糊,微软平台战略副总裁Sanjay Parthasarathy对它的描述为“定义.NET最好的方式就是想一想.NET要做什么。微软认为向分布式计算的转变正在悄悄地进行着……因此,.NET的目的正是要加速产生下一代分布式计算的过程。”微软公司董事会主席兼首席软件设计师比尔·盖茨则认为“Microsoft .NET将在21世纪的头十年里发起计算和人们交流方式的革命。Microsoft .NET的完全成熟需要花费几年的辛劳,但是我们怀着无比的兴奋,期待这一天的到来。”从这段话和微软的一系列动作可以看出,.NET是微软向因特网进军的号角,其重要的技术和架构革新正是为了更好、更方便地在因特网环境中构建应用程序和服务。
它的出现也代表了IT技术和产业中一些重要的变化。一方面,.NET代表着计算模式的转变。它彻底地把计算模式从单机、客户机/服务器的方式转向分布式计算,把整个因特网当做一个整体的计算资源来加以利用。.NET通过一种被称为网络服务(Web Service)的技术把分布在因特网上的各种资源有效地通过编程手段结合在一起,最大限度地利用了因特网上的计算能力,提高了资源的利用率。另一方面,.NET还带来了一种全新的商业模式和软件使用模式,即软件服务化(Software-As-Service)。这种新的商业模式可以把各种软件改造成为能够通过“订阅”方式使用的服务,就像用户使用电话业务、水电和订阅杂志的方式一样,按照“使用量”付费。.NET中包含了一系列辅助模块,这些模块包括用户认证、通知、网络存储等功能,就是为了更加方便地实现软件服务化,以迎接因特网大潮的来临。
总体来说,.NET就是一个应用基础平台,它包括一组软件产品、技术和服务,用来连接信息、人、系统和各种设备,连接的主要方式是Web Service,其最终目的就是让用户在任何地方、任何时间,以及利用任何设备都能访问所需的信息、文件和程序。用户不需要知道这些文件放在什么地方,只需要发出请求后接收即可,而所有后台的复杂性是完全屏蔽起来的。
下面从技术角度来介绍.NET。
1.1.2 .NET框架概述
从以上论述中可以看出,.NET是一种新的开发平台,它简化了在高度分布式Internet环境中的应用程序开发。.NET的全部技术是构建于.NET框架(.NET Framework)之上的。.NET框架是一项革命性的技术框架,它主要包含两个最基本的部分,即公共语言运行库(CLR,Common Language Runtime)和.NET类库(CL,Class Library),如图1.1所示。

图1.1 .NET框架
公共语言运行库是.NET框架的基础,可以将它看做一个程序执行时的容器,提供内存管理、线程管理和远程处理等核心服务。用户编写的程序并不是直接编译为Windows可以执行的二进制文件,而是编译为CLR能够执行的中间语言(IL或MSIL,Intermediate Language),然后由CLR来运行,这样就能确保程序的安全性和可靠性。同时,只要计算机安装有CLR就可以运行用户的程序,也就能够实现程序的跨平台运行。事实上,现在已经有了在Linux等非Windows平台上运行的.NET框架产品。
注意:这里需要提到.NET框架中一组很重要的概念,即托管代码和托管应用程序。简单地说,托管代码即在CLR环境中执行的代码,脱离CLR环境则不能正常运行。使用这种代码编写的程序在运行时需要系统中安装.NET环境,称为托管应用程序。非托管代码则指不需要.NET框架环境,Windows系统可直接执行的二进制代码,使用这种代码编写的程序就是非托管应用程序。当然,托管应用程序在安全性、可靠性和可移植性方面都有明显的优势。
.NET类库是一组广泛的、面向对象的、可重用类的集合,可以为应用程序提供各种高级的组件和服务。它大大简化了编程的工作量,为应用程序提供了各种开发支持,不管是传统的命令行程序还是Windows图形界面程序(如QQ、Office等),甚至是面向下一代因特网分布式计算平台的ASP.NET或XML Web服务。它主要包含以下组件和服务:
● ADO.NET组件
● XML数据组件
● Windows表单组件
● ASP.NET Web表单组件
● ASP.NET应用服务
● XML Web服务
● 系统框架服务
公共语言运行库、类库、两类应用程序与整个系统之间的关系如图1.2所示。

图1.2 公共语言运行库、类库、两类应用程序与整个系统之间的关系图
综上所述,.NET框架通过Framework提供对.NET的支持,并使用丰富的类库进行Web应用程序的开发。在开发过程中,只要选用.NET支持的编程语言开发出来的应用程序都可以跨平台运行。