动易cms 2007新特性体验之一:使用asp.net 2.0作为开发及运行环境
动易cms 2007没有使用asp.net 1.1而直接使用asp.net 2.0做为开发及运行环境,是因为2.0较之1.1无论在稳定性、安全性、性能以及功能上都有很明显的改进,并且目前大部分的空间商已经支持.net 2.0。动易cms 2007基于asp.net2.0开发,继承了asp.net 2.0的各种优点和特性,为网站的发展奠定了前沿的技术基础。
那么,究竟什么是asp.net呢?asp.net又有些什么样的优点和特性值得我们从已经非常成熟的asp平台转入到asp.net平台呢?
下面就让我一一为大家讲述。这些内容都是从网上找的,我只是整理了一下。已经了解的就不用看了。呵呵。不过如果你认真把这篇长长的文章看完,肯定会对asp.net有了一个较清晰的认识了。
一、什么是asp.net?
提到asp.net,就不得不首先搞清楚什么是asp。asp的全称是active server pages,即活动服务器页面,为什么称之为活动服务器页面,这是因为以前的互联网全部是由静态的html页面组成,如果需要更新你的网站内容,你不得不制作大量的html页面。有了asp以后,我们就能够根据不同的用户,在不同的时间向用户显示不同的内容。网站的内容更新也不再是一个乏味的重复过程,它开始变得简单而有趣。也因此在国内掀起了一股学习asp的热潮。
但是由于asp程序和网页的html混合在一起,这就使得程序看上去相当的杂乱。在现在的网站设计过程中,通常是由程序开发人员做后台的程序开发,前面有专业的美工设计页面,这样,在相互配合的过程中就会产生各种各样的问题。同时,asp页面是有脚本语言解释执行的,使得其速度受到影响。受到脚本语言自身条件的限制,我们在编写asp程序的时候不得不调用com组件来完成一些功能。由于以上种种限制,微软推出了asp.net。
asp.net不仅仅只是asp 3的一个简单升级,它更为我们提供了一个全新而强大的服务器控件结构。从外观上看,asp.net和asp是相近的,但是从本质上是完全不同的。asp.net几乎全是基于组件和模块化,每一个页,对象,和html元素都是一个运行的组件对象。在开发语言上,asp.net抛弃了vbscript和jscript,而使用.net framework所支持的vb.net,c#.net等语言做为其开发语言,这些语言生成的网页在后台被转换成了类并编译成了一个dll。由于asp.net是编译执行的,所以它比asp拥有了更高的效率。
asp.net 是一个统一的 web 开发平台,它提供开发人员创建企业级 web 应用程序所需的服务。尽管 asp.net 的语法基本上与 asp 兼容,但是它还提供了一个新的编程模型和基础结构以提高应用程序的安全性、缩放性和稳定性。通过逐渐向现有的 asp 应用程序增加 asp.net 功能,我们可以自由地使其增大。asp.net 是一个编译的、基于 .net 的环境;我们可以用任何 .net 兼容的语言(包括 microsoft visual basic.net,microsoft visual c# 和 microsoft jscript .net)创作应用程序。另外,整个 microsoft .net framework 可用于任何 asp.net 应用程序。开发人员可以很容易地从这些技术受益,这些技术包括管理的公共语言运行库环境、类型安全、继承等。
关于asp.net有许多新的特性,主要有以下几点:
1、asp.net是预编译的而不是解释的。对于asp.net页面即aspx页面是这样的:第一次执行aspx页面时,页面将首先被编译成一种称为il(intermediate language)的伪代码(pseudo-code),然后在执行时将il代码编译成机器代码,并且被载入到.net运行程序的全局程序集缓存gac中,这样就为其他的托管应用程序的使用做好了准备,只有在程序的代码发生了改变或者web服务器重新启动时,aspx页面才需要重新编译,这样aspx页面除了第一次请求aspx页面时响应速度比较慢外,以后请求都比较快。
2、asp.net是基于控件驱动的。在asp.net中可以使用大多数的控件都不需要aspx中嵌入很多的代码,实际上只需要简单地给控件加入几个属性,便可以轻松地实现服务器的功能,这此控件都被封装好了,开发人员只需要简单的代码就可以使用控件了.
3、asp.net是真正的面向对象的语言,这是asp.net真正的最明显的优点,aspx页面本身就是可重用的对象,只需要引用web应用程序的名字空间,其它的.net应用程序就可以重用aspx的页面。
二、asp.net的优点如下:
1)可管理性: asp.net 使用基于文本的、分级的配置系统,简化了将设置应用于服务器环境和 web 应用程序的工作。因为配置信息是存储为纯文本的,因此可以在没有本地管理工具的帮助下应用新的设置。配置文件的任何变化都可以自动检测到并应用于应用程序。
2)安全: asp.net 为 web 应用程序提供了默认的授权和身份验证方案。开发人员可以根据应用程序的需要很容易地添加、删除或替换这些方案。
3)易于部署: 通过简单地将必要的文件复制到服务器上,asp.net 应用程序即可以部署到该服务器上。不需要重新启动服务器,甚至在部署或替换运行的已编译代码时也不需要重新启动。
4)增强的性能: asp.net 是运行在服务器上的已编译代码。与传统的 active server pages (asp) 不同,asp.net 能利用早期绑定、实时 (jit) 编译、本机优化和全新的缓存服务来提高性能。
5)灵活的输出缓存: 根据应用程序的需要,asp.net 可以缓存页数据、页的一部分或整个页。缓存的项目可以依赖于缓存中的文件或其他项目,或者可以根据过期策略进行刷新。
6)国际化: asp.net 在内部使用 unicode 以表示请求和响应数据。可以为每台计算机、每个目录和每页配置国际化设置。
7)移动设备支持: asp.net 支持任何设备上的任何浏览器。开发人员使用与用于传统的桌面浏览器相同的编程技术来处理新的移动设备。
8)扩展性和可用性: asp.net 被设计成可扩展的、具有特别专有的功能来提高群集的、多处理器环境的性能。此外,internet 信息服务 (iis) 和 asp.net 运行时密切监视和管理进程,以便在一个进程出现异常时,可在该位置创建新的进程使应用程序继续处理请求。
9)跟踪和调试: asp.net 提供了跟踪服务,该服务可在应用程序级别和页面级别调试过程中启用。可以选择查看页面的信息,或者使用应用程序级别的跟踪查看工具查看信息。在开发和应用程序处于生产状态时,asp.net 支持使用 .net framework 调试工具进行本地和远程调试。当应用程序处于生产状态时,跟踪语句能够留在产品代码中而不会影响性能。
10)与 .net framework 集成: 因为 asp.net 是 .net framework 的一部分,整个平台的功能和灵活性对 web 应用程序都是可用的。也可从 web 上流畅地访问 .net 类库以及消息和数据访问解决方案。asp.net 是独立于语言之外的,所以开发人员能选择最适于应用程序的语言。另外,公共语言运行库的互用性还保存了基于 com 开发的现有投资。
11)与现有 asp 应用程序的兼容性: asp 和 asp.net 可并行运行在 iis web 服务器上而互不冲突;不会发生因安装 asp.net 而导致现有 asp 应用程序崩溃的可能。asp.net 仅处理具有 .aspx 文件扩展名的文件。具有 .asp 文件扩展名的文件继续由 asp 引擎来处理。然而,应该注意的是会话状态和应用程序状态并不在 asp 和 asp.net 页面之间共享。