« 上一篇下一篇 »

消除对脚本引擎的依赖性

ASP是使用Active Scripting建立的,Active Scripting是这样的一个技术,它最初设计用于使网站建设开发人员能够以一种统一的方式编写和控制应用程序。它不是一种真正设计用来编写完整应用程序的技术,而编写完整的应用程序正是开发人员努力使用ASP的根本目的所在,这也就解释了为什么ASP.NET不使用Active Scripting来编写。

Active Scripting有许多固有的问题:代码是经过解释而不是经过编译的、它有一个较差的类型系统、它支持方法的后期绑定调用、每个动态脚本引擎的案例都要消耗内存等。作为一个ASP开发人员,可能早就意识到这些问题,并且在开发或初步设计自己的应用程序时也碰到过这些问题。解释代码只能导致很平庸的性能。一个不好的类型系统只会让代码更加难以开发、阅读和调试。而后期绑定代码要比早期绑定代码慢许多倍,并且会限制所能使用的组件。可能我们编写了大量COM组件来解决这些问题,但即使是这种解决办法也隐含地存在性能和维护上的问题。而且从ASP中创建COM对象本身就代价相对较大,同时如今升级COM组件通常意味着要停止web服务器。

为了获得强大的性能,并消除对动态脚本的依赖性,ASP.NET网页使用了装配件。当为了某个.aspx网页生成了一个.NET类时,该网页的依赖性——就构成了经过编译的类的组成部分。在网页显示出来之前这些依赖性都会经过检查,如果网页被编译后发现任何依赖性文件发生了变化,装配件就会被删除,并同时创建一个新的装配件。这就确保了所显示的网页总是最新的。

« 上一篇下一篇 »