ASP 3.0新特性概要
在ASP3.0中,有一些新的特性或经历较大的变化或改进的特性。
1、 无脚本的ASP
ASP处理不包括任何脚本的.asp页的速度是很快的,假如你正在创建的站点或Web应用程序文件最终可能使用ASP,最好让这些文件使用.asp文件扩展名,而不用考虑它们是包含服务器端脚本还是仅仅包含静态(HTML和文本)内容。
2、 新的流向控制能力
到目前为止,假如想把执行转向另外的一个ASP页,不得不使用Response.Redirect语句,这个工作通过向客户端发送一个响应来指示其载入新的页面来实现。然而这对客户端来讲是费事的。而且当代理服务器用于客户端时,会引起错误的消息。ASP 3.0为Server对象提供了两种新的方法,允许在服务器上转换页面而不需要新的客户端的请求。
Server.Transfer是转换执行到另一个页面;而Server.Execute是执行另一个页面,然后将控制返回原来的页面。在新的页面里访问原来页面的环境,包括Response和Request等所有ASP对象,但是不能访问页面范围的变量。假如原始的页面使用了一个事务标志(在开放的<%@…%>元素中),事务的环境被传递到新的页面。假如第二个ASP文件的事务标志表明事务是受到支持的或需要的,则现有的事务将被使用,而不会开始一个新的事务。
3、 错误处理和新的ASP Error对象
通过提供一个用Server.Transfer方法自动调用的定制的ASP页面,提供了可配置的错误处理。在这个ASP页面中,Server.GetLastError可被用来返回一个ASP Error对象的实例,其中包含了错误的细节,例如错误的描述和相关的行号。
4、 编码后的ASP脚本
ASP脚本和客户端脚本现在可以使用BASE64加密法进行编码。更高水平的加密计划将出现在ASP的未来新版本里(注意,这个特征是由VBScript 5.0和Jscript 5.0脚本引擎实现的,因此在脚本被执行时要求这些引擎存在)。编码后的脚本将在运行时由脚本引擎解码。因为不必使用别的工具,尽管这不是很安全的加密方法,但能够保护脚本不被一般的用户浏览和拷贝。
5、 包含脚本文件的一种新方式
除了使用<!--#Include…-->元素使服务器端的IIS包含脚本代码文件,ASP 3.0也能够“包含”其自己。<SCRIPT>元素与RUNAT=”SERVER”和SRC=”path_and_filename”属性共同使用,来包含基于服务器的脚本代码文件。相对的物理路径也可以用SRC属性中:
<SCRIPT language=”language” RUNAT=”server” SRC=”path_and_filename”></SCRIPT>
6、 Server Sciptlets
ASP 3.0支持一种强有力的新的脚本技术,称之为Server Scriptlets。这些是驻留在服务器上的XML格式的文本文件,可以像一般的COM对象(即Active服务器组件)为ASP所用。这样可以把Web应用程序的业务逻辑脚本过程更容易地实现为一个可重用的组件。
7、 增强性能的Active服务器组件
ASP中的许多Active服务器组件得到了改进,能够提供更好的性能和附加的功能,一个例子就是新的Browser Capabilities组件。除此之外,还有一些新的组件。例如,XML分析器使应用程序可以处理服务器上的XML格式的数据。同时,提供了ADO与XML更加紧密的集成(通过Windows 2000所提供的新的ADO 2.5版),这为以XML格式存贮和获取数据,提供了新的机会。
8、 性能
为了改善ASP和IIS的性能和可扩展性,新版本做了大量的工作。这包含ASP中的自我调整特征,它可以检测阻塞情况并自动增加可用线程的数量。当请求在执行中受到外部资源的阻塞时,ASP能够检测出来,并为同时执行附加请求和继续正常处理提供更多的线程。但是,假如CPU变得超负荷,ASP会减小可用线程的数量,以便当过多的非阻塞请求同时执行时,将线程切换次数最小化。