当前位置: 首页 > 图文教程 > 网络编程 > ASP > 处理运行时间长的脚本以及内容大的主页

ASP
Access 2000 数据库 80 万记录通用快速分页类
Microsoft JET Database Engine 错误 ''80004005'' 未指定的错误的完美解决方法
收藏的ASP常用的函数集
asp分页的一个类
ASP开发网页牢记注意事项
ASP下操作Excel技术总结分析
ASP数据岛操作类
ASP经典分页类
asp论坛在线人数统计研究
ASP调用SQL SERVER存储程序
asp输出bmp
ASP连接数据库的全能代码
ASP面向对象编程探讨及比较
web文件管理器的后续开发
一小偷类!!有兴趣的可以看看
利用ASP实现事务处理的方法
大数量查询分页显示 微软的解决办法
如何把ASP编写成DLL
asp实现树型结构
超级ASP大分页_我的类容我做主

ASP 中的 处理运行时间长的脚本以及内容大的主页


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 212 ::
收藏到网摘: n/a

 

处理运行时间长的脚本以及内容大的主页

脚本运行时间的最长限制默认值为90秒,这是防止无限次循环的进行,是很有用的防护措施。不过,在一些特殊场合中,你也许面临着脚本运行时间大于90秒的场合,例如,当你的脚本生成了一个十分巨大的主页时,你肯定不希望主页显示到一半时间就过了限制时间。那么你可以利用Server对象的ScriptTimeout属性来自己设定你希望的限制时间。例如下例:

<% Server.ScriptTimeOut=150 %>

<HTML>

<Head><title>落星</title></head>

<body>

<%

randomize

starx=60

for k=1 to 10

nextsecond=dateadd(“s”,10,time)

do while time<nextsecond

loop

Starx=starx+3*rnd()-1

for i=1 to starx

Response.Write(“&nbsp;”)

Next

Response.Write(“*<p>”)

Next

%>

</body>

</html>

这个脚本将会十分缓慢的显示落星,每隔10秒在相应位置显示一个星号。(见图14.2)。

由于在页首限定了150秒的限制时间,这个脚本才可能正常执行结束。

你自然也可以利用Server.ScriptTimeout属性来将限制时间减少到90秒以内,而且你还可以在Internet Service Manager中的Application Configuation对话框中的App Options页中修改ScriptTimeout属性,如果你将其改为-1,那么你的脚本将永远不会过期。

 

允许脚本执行很长时间就会在你网站资源上创建一个非常重要的管道,实际上,一个脚本也许会执行到甚至发出执行请求的用户都已经离开的时候,这种情况下,这种脚本的继续执行对任何人都没有好处。幸运的是,Response对象的属性可以有所助益,IsClientConnected属性可以检查浏览器和服务端是否仍然在连接。你可以利用这个属性将用户已经离开情况下的脚本停止执行。例如,下面这个例子会一直显示到连接终止。

<HTML>

<HEAD><TITLE>Obnoxious Page</title></head>

<body>

<%

while 1=1

Response.Write(“Hello! Magicw3 Com.”)

if NOT Response.IsClientConnected THEN Response.End

WEND

%>

</body>

</HTML>

请注意IsClientConnected属性仅仅在上一个Response.write调用时浏览器仍然处于连接状态才有效。如果你运行了一个运行时间很长的脚本程序而没有输出任何东西,那么这个属性也就不会产生作用。