ASP.NET动态Web开发技术
上QQ阅读APP看书,第一时间看更新

1.3 ASP.NET概述

1.3.1 .NET框架

.NET框架(.NET Framework)是微软的新一代技术平台,是支持生成和运行下一代应用程序和XML Web Services的综合性开发平台。

.NET框架提供了一个统一的面向对象的编程环境,在这个技术平台上既可以开发基于Windows的应用程序,也可以开发基于Web的应用程序、Web Services服务系统以及Mobile移动网络应用系统。基于.NET框架,开发人员在面对这些类型完全不同的应用程序时,可以保持一致的编程模式。

.NET框架支持多种语言,包括C#、VB.NET、J#、C++和JScript.NET。它提供了一个跨语言的统一编程环境,语言互操作性是.NET框架的一项主要功能。基于此功能,开发人员可以很容易地设计出能够跨语言交互的组件和应用程序,即用不同语言编写的对象可以互相通信,行为可以紧密集成。

.NET框架除了公共语言运行时(Common Language Runtime,CLR)服务之外,还包含一个由4000多个类组成的内容详尽的类库,这些类用以广泛地处理常见的各种功能任务。使用.NET框架平台,在应用开发过程中可以屏蔽底层细节简化开发,开发人员编写程序更为简单快速。

同时,.NET框架使用公用的业界标准,按照工业标准生成所有通信,确保了基于.NET框架的代码可以与其他任何代码集成。

1.3.2 .NET框架的结构

从层次结构来看,.NET框架包括如下四个主要组成部分。

·公共语言运行时;

·.NET框架类库及ADO.NET;

·应用程序平台,包括传统的Windows应用程序模板(Windows Forms)和基于ASP.NET的面向Web的网络应用程序模板(Web Forms和Web Services);

·程序设计语言及公共语言规范(CLS)。

.NET框架的体系结构如图1-1所示。

图1-1 .NET框架的体系结构

公共语言运行时:是.NET框架应用的执行引擎,为应用程序提供大量的自动化服务,包括装载和执行代码、内存分配管理、异常处理、安全检查、应用程序优化、获取元数据以及将MSIL编译为本地代码。公共语言运行时是整个.NET框架的核心和基础,无论使用什么语言,编写什么样的.NET程序,都需要这个核心引擎提供核心服务。

·.NET框架类库:提供可扩展的类库,包含大量内置的功能函数,它们按照逻辑组织在与操作系统功能有关的名字空间中,为应用程序提供各种有用的功能。这组基础类库提供了一个统一的、面向对象的、层次化的、可扩展的编程接口,使得开发者能够高效、快速地构建基于下一代互联网的网络应用。

·ADO.NET与XML:是全新的数据库访问技术,针对Web离散的特性做了重大的改进。ADO.NET提供了一组用来连接数据库、运行命令、返回记录集的类库,还提供了对XML的强大支持。ADO.NET通过一系列新的对象和编程模型,与XML紧密结合,数据操作十分方便和高效。

·ASP.NET:是针对Web窗体和Web服务的网络应用开发技术。

·Windows Forms:为开发传统的基于Windows的应用程序提供开发架构。

·公共语言规范(CLS):是一套.NET平台语言支持规范,它本身不是一项技术,也没有源代码,主要是为语言编译器和类库之间的协作提供一系列的规则。

·.NET语言:包括VB、C++、C#、JScript.NET和J#。

1.3.3 ASP.NET的发展历史

ASP.NET是Microsoft.NET框架的一部分。作为战略产品,它提供了一个统一的Web开发模型,包括开发人员创建企业级Web应用程序所需要的各种服务。微软对于ASP.NET的设计策略是易于写出结构清晰的代码、代码易于重用和共享、可用编译类语言编写等,目的是让程序员更容易开发出Web应用,满足计算向Web转移的战略需要。

ASP.NET的前身是ASP(Active Server Page)技术,在1994~2000年之间,ASP技术是微软推广Windows NT 4.0平台的关键技术之一,数以万计的ASP网站出现在网络上,因其简单以及可定制化而被迅速广泛使用。但是,ASP的缺点也逐渐显现,解释型的语言和面向过程型的程序开发方法,让系统性能、扩展性具有很大的局限性,系统维护的难度大,尤其是大型的ASP应用程序尤为突出。1997年,微软团队针对ASP的缺点开发出了下一代ASP技术的原型ASP+。

2000年,微软开始正式推动.NET策略,ASP+改名为ASP.NET,第一个版本的ASP.NET在2002年1月5日随.NET Framework 1.0一起发布,ASP.NET 1.0应运而生。ASP.NET不仅仅是下一版本的ASP,它还提供了一种新的编程模型和结构,支持面向对象的Web应用程序开发,可用于生成更安全、可伸缩和稳定的应用程序。

此后,每次.NET框架新版本的发布都会给ASP.NET带来新的特性。2005年11月,ASP.NET 2.0与Visual Studio 2005一起发布,ASP.NET 2.0改进并简化了数据访问控件,推出了母版、主题以及Web部件、导航控件、安全控件、角色、个性化和国际化服务以及对XML标准的完整支持,并且改进了编译、部署和站点管理功能,使Web开发更容易,更快捷。

2007年11月,Visual Studio 2008问世,ASP.NET相应升级为ASP.NET 3.5,增加了ListView和DataPager两种新的数据访问控件以及ASP.NET AJAX技术,提供了支持LINQ的数据库查询技术。

2010年4月,微软公司发布Visual Studio 2010,ASP.NET 4.0随之推出。大量的改进使得Web开发更加现代和方便,包括提高了并行计算的线程性能,SEO优化支持,缓存功能扩展,完全集成jQuery,更好的JavaScript及HTML代码智能感知,对服务器控件的ID的增强控制等。

2012年2月,Visual Studio 2012和ASP.NET 4.5问世,它针对HTML5做了更新,此外增加了强类型数据控件、Bundling资源、隐式的验证方式以及新的模型绑定方式。可以看到,ASP.NET 4.5进一步简化了程序员的相关工作,大大提高了编程效率。

2015年7月,Visual Studio 2015与ASP.NET 5发布。作为ASP.NET平台上最重要的更新之一,基于.NET核心公共语言运行时(CoreCLR)的ASP.NET 5可以部署在任意的平台上,无论是Linux、Mac还是Windows,ASP.NET 5从本质上提升了快速开发、云配置、依赖管理和组合率。

1.3.4 ASP.NET的特点

ASP.NET是建立在公共语言运行时上的编程框架,主要用于在Web服务器上建立功能强大的应用程序。与以前的Web开发模型相比,ASP.NET具有许多重要的优点:

(1)强大和灵活

ASP.NET基于公共语言运行时,任何ASP.NET应用程序都可以使用整个.NET框架。开发人员可以方便地获得这些技术的优点,包括托管的公共语言运行库环境、类型安全、继承等。ASP.NET是独立于语言之外的,开发人员可以根据需要使用任何与.NET框架兼容的语言来编写应用程序代码。

(2)开发高效

ASP.NET提供了大量服务器端控件,将类似VB的快速开发应用到了Web开发中来,强大的控件支持大大提高了开发效率。

(3)性能增强

ASP.NET是在服务器上运行的经编译的公共语言运行时代码,可利用早期绑定、实时编译、本机优化和全新的缓存服务来提高性能。

(4)易于管理

ASP.NET使用基于文本的、分级的配置系统,简化了服务器环境和Web应用程序的配置工作。配置信息存储为纯文本的,配置文件的任何变化都可以自动检测到并应用于应用程序。将必要的文件复制到服务器上,ASP.NET应用程序即可以完成部署,不需要重新启动服务器。

(5)稳定

ASP.NET设计了专门的功能用于在集群的多处理器环境下提高程序性能。此外,ASP.NET运行时会密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程,使应用程序继续处理请求。

(6)安全

ASP.NET提供了安全验证体系,提高了项目权限的管理能力;此外,在数据库SQL语句的执行方面,通过逻辑的统一封闭和验证,解决了对类似SQL注入等带来的安全问题。