1.2 .NET应用程序需框架

  无论是ASP.NET应用程序还是ASP.NET应用程序中所提供的控件,甚至是ASP.NET支持的原生的AJAX应用程序都不能离开.NET应用程序框架的支持。.NET应用程序框架作为ASP.NET以及其应用程序的基础而存在,若需要使用ASP.NET应用程序则必须使用.NET应用程序框架。


1.2.1  什么是.NET应用程序框架
  .NET框架是一个多语言组件开发和执行环境,无论开发人员使用的是C#作为编程语言还是使用VB.NET作为其开发语言都能够基于.NET应用程序框架而运行。.NET应用程序框架主要包括三个部分,这三个部分分别为公共语言运行时、统一的编程类和活动服务器页面。

  1.公共语言运行时
  公共语言运行时在组件的开发及运行过程中扮演着非常重要的角色。在经历了传统的面向过程开发,开发人员寻找更多的高效的方法进行应用程序开发,这其中的发展成为了面向对象的应用程序开发,在面向对象程序开发的过程中,衍生了组件开发。

在组件运行过程中,运行时负责管理内存分配、启动或删除线程和进程、实施安全性策略、同时满足当前组件对其它组件的需求。在多层开发和组件开发应用中,运行时负责管理组件与组件之间的功能的需求。

  2.统一的编程类
  .NET框架为开发人员提供了一个统一、面向对象、层次化、可扩展的类库集(API)。现今,C++开发人员使用的是Microsoft基类库,Java开发人员使用的是Windows基类库,而Visual Basic用户使用的又是Visual Basic API集,在应用程序开发中,很难将应用程序进行平台的移植,当出现了不同版本的Windows时,就会造成移植困难。
  注意:虽然Windows包括不同的版本,而这些版本的基本类库相同,但是不同版本的Windows同样会有不同的API,例如Windows 9x系列和Windows NT系列。

  而.NET框架就统一了微软当前的各种不同类型的框架,.NET应用程序框架是一个系统级的框架,对现有的框架进行了封装,开发人员无需进行复杂的框架学习就能够轻松使用.NET应用程序框架进行应用程序开发。无论是使用C#编程语言还是Visual Basic编程语言都能够进行应用程序开发,不同的编程语言所调用的框架API都是来自.NET应用程序框架,所以这些应用程序之间就不存在框架差异的问题,在不同版本的Windows中也能够方便移植。

  注意:.NET框架能够安装到各个版本的Windows中,当有多个版本的Windows时,只需安装了.NET框架,任何.NET应用程序就能够在不同的Windows中运行而不需要额外的移植。

  3.活动服务器页面
  .NET框架还为Web开发人员提供了基础保障,ASP.NET是使用.NET应用程序框架提供的编程类库构建而成的,它提供了Web应用程序模型,该模型由一组控件和一个基本结构组成,使用该模型让ASP.NET Web开发变得非常的容易。开发人员可以将特定的功能封装到控件中,然后通过控件的拖动进行应用程序的开发,这样不仅提高了应用程序开发的简便性,还极大的精简了应用程序代码,让代码具更有复用性。

  .NET应用程序框架不仅能够安装到多个版本的Windows中,还能够安装其他智能设备中,这些设备包括智能手机、GPS导航以及其他家用电器中。.NET框架提供了精简版的应用程序框架,使用.NET应用程序框架能够开发容易移植到手机、导航器以及家用电器中的应用程序。Visual Studio 2008还提供了智能电话应用程序开发的控件,实现了多应用、单平台的特点。

  开发人员在使用Visual Studio 2008和.NET应用程序框架进行应用程序开发时,会发现无论是在原理上还是在控件的使用上,很多都是相通的,这样极大的简化了开发人员的学习过程,无论是Windows应用程序、Web应用程序还是手机应用程序,都能够使用.NET框架进行开发。


1.2.2  公共语言运行时(CLR)
  在前面的小结中可以看出,无论开发人员使用何种编程语言(如C#或Visual Basic)都能够使用.NET应用程序框架进行应用程序的开发。那么何种原因使得开发人员使用任何.NET应用程序框架的支持的语言都能够使用.NET应用程序框架并实现相应的应用程序功能,这就要了解.NET中的公共语言运行库(CLR)。

  公共语言运行时(Common Language Runtime,CLR)为托管代码提供各种服务,如跨语言集成、代码访问安全性、对象生存期管理、调试和分析支持。CLR和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。同时,为了提高.NET平台的可靠性,以及为了达到面向事务的电子商务应用所要求的稳定性和安全性级别,CLR还要负责其他一些任务。

  在公共语言运行时中运行的程序被称为托管程序。顾名思义,托管程序就是被公共语言运行时所托管的应用程序,公共语言运行时会监视应用程序的运行并在一定程度上监视应用程序的运行。当开发人员进行应用程序开发和运行时,例如出现了数组越界等错误都会被公共语言运行库所监控和捕获。

  当开发人员进行应用程序的编写时,编写完成的应用程序将会被翻译成一种中间语言,中间语言在公共语言运行时中被监控并被解释成为计算机语言,解释后的计算机语言能够被计算机所理解并执行相应的程序操作。在程序开发中,使用的编程语言如果在CLR监控下就被称为托管语言,而语言的执行不需要CLR的监控就不是托管语言,被称为非托管语言。在托管语言在解释时的效率没有非托管语言迅速,因为托管的语言首先需要被解释成计算机语言,这也造成了性能问题。

  虽然如此,但是CLR所带来的性能问题越来越不足以成为问题,因为随着计算机硬件的发展,当代计算机已经能够适应和解决托管程序所带来的效率问题。
1.2.3  .NET Framework 类库
  .NET Framework是支持生成和运行下一代应用程序和XML Web services的内部Windows 组件。.NET Framework 类库包含了.NET应用程序开发中所需要的类和方法,开发人员可以使用.NET Framework 类库提供的类和方法进行应用程序的开发。

  .NET Framework 类库中的类和方法将Windows底层的API进行封装和重新设计,开发人员能够使用.NET Framework 类库提供的类和方法方便的进行Windows应用程序开发,.NET Framework 还意图实现一个通用的编程环境。.NET Framework想要实现的功能如下所示。

? 1)提供一个一致的面向对象的编程环境,无论这个代码是在本地执行还是在远程执行。
? 2)提供一个将软件部署和版本控制冲突最小化的代码执行环境以便于应用程序的部署和升级。
? 3)提供一个可提高代码执行安全性的代码执行环境,就算软件是来自第三方不可信任的开发商也能够提供可信赖的开发环境。
? 4)提供一个可消除脚本环境或解释环境的性能问题的代码执行环境,.NET Framework将应用程序甚至是Web应用相关类编译成DLL文件。
? 5)使开发人员的经验在面对类型大不相同的应用程序时保持应用程序和数据的一致性,特别是使用面向服务开发和敏捷开发。
? 6)提供一个可以确保基于.NET Framework 的代码可与任何其他代码开发、集成、移植的可靠环境。

  .NET Framework类库用于实现基于.NET Framework的应用程序所需要的功能,例如实现音乐的播放和多线程开发等技术都可以使用.NET Framework现有的类库进行开发。.NET Framework类库相比MFC具有较好的命名方法,开发人员能够轻易阅读和使用.NET Framework类库提供的类和方法。

  无论是基于何种平台或设备的应用程序都可以使用.NET Framework类库提供的类和方法。无论是基于Windows的应用程序和基于Web的ASP.NET应用程序还是移动应用程序,都可以使用现有的.NET Framework中的类和方法进行开发。在开发过程中,.NET Framework类库中对不同的设备和平台提供类和方法基本相同,开发人员不需要进行重复学习就能够进行不同设备的应用程序的开发。

加支付宝好友偷能量挖...


评论(0)网络
阅读(111)喜欢(0)Asp.Net/C#/WCF