浏览器大全:是一个提供流行浏览器教程、在线学习分享的学习平台!

优化ASP应用程序技巧4则

本文将向大家介绍四则优化ASP应用程序的技巧。

1.将经常使用的数据缓存在 Application 或 Session 对象中
  ASP的Application和Session对象为将数据暂存在内存中提供了方便的容器。你可以将数据指派到 Application和Session对象中,这些数据在HTTP调用之前保留在内存中。Session数据是按每个用户分别存储的,而Application数据则在所有用户之间共享。

  什么时候将数据装载到 Application 或 Session 中呢?通常,数据是在启动 Application 或 Session 时装载。要在Application或Session启动过程中装载数据,应将适当的代码分别添加到Application_OnStart()或Session_OnStart()中。这些函数应该在 Global.asa 中,如果没有,我们可手工添加进这些函数。还可以在第一次需要时装载该数据。为此,在 ASP 页中添加一些代码(或编写一个可重复使用的脚本函数),以检查数据是否存在,如果不存在,就装载数据。这是一个传统提高性能的技术,称为“惰性计算”,即在你知道需要某一个值以前不计算该值。程序举例如下:

<%
Function GetEmploymentStatusList
Dim d
d = Application(?EmploymentStatusList?)
If d = ?? Then
' FetchEmploymentStatusList function (not shown)
' fetches data from DB, returns an Array
d = FetchEmploymentStatusList()
Application(?EmploymentStatusList?) = d
End If
GetEmploymentStatusList = d
End Function
%>


  我们可以为所需要的每个数据块编写类似的函数。

2.将代码封装在 COM 对象中
  如果你的Web应用程序中有许多 VBScript 或JScript代码,你可以经常将代码移到编译的 COM 对象中,从而可改善性能。将代码封装在 COM 对象中还有一些除提高性能之外的其他优点:

  (1)COM 对象有利于将表示逻辑与业务逻辑分开;

  (2)COM 对象可以保证代码重复使用;

  (3)用VB、VC++ 或 Visual J++ 编写的代码比 ASP 更容易调试。

  COM对象也有缺点,包括初始化时间长和需要不同的程序设计技巧。值得注意的是,在少量ASP代码被封装进 COM 对象时,可能不会使性能有所改进,反而会引起性能下降。这种情况通常是创建和调用 COM 对象的系统开销超过了编译代码的系统开销。因此,我们需要反复地试验,以确定什么样的 ASP 脚本和 COM 对象代码的组合可以产生最好的性能。

3.处理内嵌脚本和Response.Write语句
  VBScript 语法的<% = expression %>是将“expression”的值写到ASP输出流中。如果响应缓冲未启用,那么执行其中的每一条语句都会以许多小的数据包通过网络将数据写到浏览器中。这样,执行速度很慢,而且穿插执行少量的脚本和 HTML,将会引起脚本引擎和 HTML 之间的切换,从而极大地降低了性能。因此,我们可以使用下面的技巧,即使用 Response.Write 调用代替捆绑紧密的内嵌表达式。

  例如,在下面的示例中,在每一行的每一字段对响应流有一次写操作,每一行在 VBScript 和 HTML 之间有多次切换:

<table>
<% For Each fld in rs.Fields %>
<th><% = fld.Name %></th>
<%
Next
While Not rs.EOF
%>
<tr>
<% For Each
fld in rs.Fields %>
<td><% = fld.Value %></td>
<% Next
</tr>
<% rs.MoveNext Wend %>
</table>


  为了使上面的代码运行效率更高,我们可以利用下面的代码,代码的每一行对响应流有一次写操作,所有的代码都包含在一个VBScript程序内:

<%
Response.Write(?<table>?)
For each fld in rs.Fields
Response.Write (?<th>? && fld.Name && ?</th>? && vbCrLf)
Next
While Not rs.EOF
Response.Write (?<tr>?)
For Each fld in rs.Fields %>
Response.Write(?<td>? && fld.Value && ?</td>? && vbCrLf)
Next
Response.Write(?</tr>?)
Wend
Response.Write(?</table>?)
%>

  当禁用响应缓冲时,这一技巧的效果特别明显。最好启用响应缓冲,然后看批处理 Response.Write 是否有助于提高性能。

4.避免重新确定数组的维数
  在应用数组时,我们应尽量避免使用Redim数组。就性能而言,如果计算机的物理内存大小有限,最好将数组的初始维数设置为其最不利的情况,或者将维数设置为其最佳的情况,然后再按需要重新确定维数。

  在开发ASP的Web应用程序过程中,充分利用以上技巧会使你的Web程序具有较高的执行性能。

相关软件

2345加速浏览器官方版

2345加速浏览器官方版 | 56.2MB

2345加速浏览器官方版

新一代2345加速浏览器采用Chromium和IE双内核,主打极速与安全特性。基于Chromium深度定制,引入网页智能预加载技术,访问网页更快速..

QQ浏览器官方正式版

QQ浏览器官方正式版 | 49.67MB

QQ浏览器官方正式版

QQ浏览器秉承TT浏览器1-4系列方便易用的特点,但技术架构不同,交互和视觉表现也重新设计,采用Chromium内核+IE双内核,让浏览快速稳定...

百度浏览器最新版下载

百度浏览器最新版下载 | 13.3MB

百度浏览器最新版下载

q百度浏览器,是一款简洁轻快、智能懂你的浏览器。依靠百度强大的搜索平台,在满足用户浏览网页的基础上,它整合百度体系业务优势,带给用户更方便的浏览方式功能...

UC浏览器官方正式版

UC浏览器官方正式版 | 44.2MB

UC浏览器官方正式版

UC浏览器(UC Browser)是UC Mobile Limited在2004年8月开发的一款软件,分uc手机浏览器和uc浏览器电脑版。UC浏览器是全球使用量最大的第三方手机浏览器...

猎豹浏览器2022最新版下载

猎豹浏览器2022下载 | 45MB

猎豹浏览器2022最新版下载

猎豹安全浏览器对Chrome的Webkit内核进行了超过100项的技术优化,访问网页速度更快。其具有首创的智能切换引擎,动态选择内核匹配不同网页...

360安全浏览器官方版下载

360安全浏览器下载 | 21.4MB

360安全浏览器官方版下载

360安全浏览器拥有全国最大的恶意网址库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银仿冒等恶意网址。独创沙箱技术,在隔离模式即使访问****也不会感染...