ASP优化:几招提高ASP性能的最佳选择(4)_ASP教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:马克斯电影站生成Rss Feed的代码
前段时间为了给本人的电影站增加Rss订阅功能,动手写了个动态生成Rss Feed的ASP代码,没法上传附件,就直接贴代码吧,反正也不长,用马克斯做电影站的朋友直接拿去用吧,其它类型的站点修改一下

使用包含文件有什么影响?

ASP编程的一个重要功能就是包含来自其它页面的代码。通过这项功能,程序员可以在多个页面上共享函数,使代码更易于维护。缺点在于服务器必须从多个来源组装页面。以下是使用Include文件的两个测试。

使用内联代码的Include文件

在这个测试中,有一小段代码被移到一个Include文件中:

<%OPTIONEXPLICIT
DimFirstName
  …
DimBirthDate
FirstName="John"

BirthDate="1/1/1950"
%>

<!--#includefile="inc1.asp"-->

/app2/include_1.asp片段

基准值=5.57msec/page
反应时间=5.93msec/page
差= 0.36msec(6.5%增加)

这不奇怪。使用Include文件形成了负载。

在函数区使用Include文件

在这里,代码都包装在一个Include文件中的子程序里。Include引用是在页面顶部进行的,在ASP脚本的适当位置调用子程序。

<%OPTIONEXPLICIT
DimFirstName

DimBirthDate
FirstName="John"

BirthDate="1/1/1950"
CALLwriteTable()
%>

<!--#includefile="inc2.asp"-->

/app2/include_2.asp片段

基准值=5.57msec/page
反应时间=6.08msec/page
 差= 0.51msec(9.2%增加)

这对性能造成的影响比functions调用还大。因此:只有当代码在页面之间共享时才使用Include文件。

执行错误处理时会形成多大的负载?

对于所有真正的应用程序来说,错误处理都是必要的。这个测试中,通过调用OnErrorResumeNext函数来调用错误句柄。

<%OPTIONEXPLICIT
OnErrorResumeNext
DimFirstName

/app2/error_1.asp片段

基准值=5.57msec/page
反应时间=5.67msec/page
差=0.10msec(1.8%增加)

你可以看到,错误句柄带来了代价。我们可以提出以下建议:只有在会发生超出测试或控制能力之外的情况时才使用错误句柄。一个最基本的例子就是使用存取其它资源,如ADO或FileSystem对象的COM对象。

设置一个上下文处理是否对性能有影响?

当错误发生时,在页面上设置一个上下文处理允许脚本进行反转操作。这是通过在页面上使用处理声明来设置的。

<%@TRANSACTION=REQUIRED%>
<%OPTIONEXPLICIT
DimFirstName

/app2/transact1.asp片段

基准值=5.57msec/page
反应时间=13.39msec/page
差= 7.82msec(140.4%增加)

啊!这真实最具有戏剧性的结果。所以请留意以下规则:只有当两个或更多操作被作为一个单元执行时,才使用处理上下文。

分享:ASP 编程中20个非常有用的例子(一)
1、如何用Asp判断你的网站的虚拟物理路径 答:使用Mappath方法:< %= Server.MapPath("")% > 2、我如何知道使用者所用的浏览器? 答:使用the Request object方法:

来源:模板无忧//所属分类:ASP教程/更新时间:2008-08-22
相关ASP教程