ASP.NET 4.0编程技术大全
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1 认识.NET Framework

在.NET Framework之前,已经存在多种多样的软件开发框架。一些框架主要用来降低软件开发的复杂度,提高开发人员的生产力,比如Delphi中的VCL框架,让开发人员能高效地开发应用程序。VCL很大一部分来自于对底层Win32 API的封装,并提供了对Pascal语言的一些辅助性的代码,而相较于VCL,.NET Framework则提供了更多更强大的功能。

1.1.1 什么是.NET Framework

.NET Framework提供了一整套应用程序的开发平台,它实际上是由一大堆技术组合而成,这些技术彼此协作,能为开发人员提供无限的应用。归根结底,.NET Framework由如下几大部分组成。

.NET语言:包括Visual Basic.NET、C#、JScript.NET、J#和C++等。

通用语言运行时(CLR):提供所有.NET程序的执行引擎,并为这些应用程序提供自动化的服务,比如安全性检查、内存的管理和应用程序的优化等。

.NET框架类库:包含大量内置的功能函数,使开发人员可以更轻松地实现特定功能,这些类库被组织为几个技术集,比如ADO.NET、Windows Forms应用程序开发、网络编程等。

ASP.NET:通常将该技术归类到.NET框架类库中,它包含了使用.NET所创建的Web应用程序的宿主引擎,并且支持.NET类库中所有的特性。ASP.NET也包含一些Web特定的服务,比如安全验证和数据存储。

Visual Studio:功能强大,使用简便的集成化开发环境,具有一整套高效的功能集合和调试特性。

上面为了突显ASP.NET技术而写了五大类,实际上在MSDN中,把整个.NET Framework分为两大类:一类是通用语言运行时(CLR),另一类就是.NET Framework类库。通用语言运行时是整个.NET应用程序的核心,无论使用什么样的语言,编写什么样的.NET程序,都需要这个核心引擎所提供的核心功能。

图1.1所示为.NET Framework的基本结构图,该图将.NET划分为两大部分,每一部分又细分了各种不同的功能模块。在.NET Framework类库部分,可以看到其提供了很多开发人员常见的应用程序类型,基本上.NET程序员都在与.NET Framework中庞大的类库打交道。通用类型系统为.NET应用程序提供了一个托管平台,它提供了较底层的功能,通常开发人员较少需要处理CLR的部分。

图1.1 .NET Framework基本结构

自从推出第一个.NET Framework以来,微软公司不断升级和精练这套框架的可用性,到目前为止,已经发展到.NET 4.0版,这一版本的.NET Framework除了修正和提升了原有框架的不足外,还完善了WPF、WCF和WF 3套开发基础库。ASP.NET从最初的1.0版也逐渐发展到现在的4.0版。

1.1.2 .NET Framework的新增功能

.NET Framework新增了大量的功能,对语言来说,它提供了很多新的语法和功能特性,来增强语言的能力,降低编写代码的复杂度。C#新增的语言特色如下。

隐式类型的本地变量和数组:在与本地变量一起使用时,var关键字指示编译器根据初始化语句右侧的表达式推断变量或数组元素的类型。

对象初始值设定项:支持无须显式调用构造函数即可进行对象初始化。

集合初始值设定项:支持使用初始化列表而不是对Add或其他方法的特定调用来初始化集合。

扩展方法:使用静态方法扩展现有类,这些静态方法可以通过实例方法的语法进行调用。

匿名类型:一种未命名的结构化类型,允许动态创建,可以添加到集合中,也可以使用var关键字进行访问。

Lambda表达式:支持带有可绑定到委托或表达式树的输入参数的内联表达式。

查询关键字:用来指定查询表达式中子句的关键字。

自动实现的属性:支持使用简化的语法声明属性。

局部方法定义:局部类型可以包含局部方法。

除了语言上的增强外,.NET Framework在编程类库方面也提供了不少开发人员期待已久的新功能。

LINQ语言集成查询:开发人员可以使用熟悉的C#或Visual Basic语法查询集合或数据库,而不用考虑底层的数据来源,并采用标准的、易于学习的查询模式。

Windows Presentation Foundation(WPF):Windows表示层基础,WPF是.NET Framework的一个子集,基于矢量绘图技术的Windows平台上的新一代表示层技术。该技术摆脱了传统的Windows Forms应用程序的不足,基于DirectX技术,让开发人员和设计人员可以紧密合作,创造出完美的用户界面。

Windows Communication Foundation(WCF):微软构建面向服务(SOA)的应用程序提供的统一编程模型。WCF是一个集成多种技术的统一编程模型,使用WCF开发分布式应用程序时,开发人员可以不用关注一些零散的技术,如Web Service、Remoting及MSMQ等。

Windows Workflow Foundation(WF):一种基于工作流的编程模型。WF允许开发人员建立、配置、监视和执行在给定应用程序内部的工作流。WF推出后,开发人员就不用费尽心思地开发支持工作流程序的基础结构。

Windows CardSpace:统一身份验证技术,这种技术使用一种统一的方法来识别用户的身份,解决了用户拥有很多密码的烦恼。