119电脑网

当前位置: 主页 > Asp >

Server.ScriptTimeOut:处理脚本运行时间长的方法

时间:2013-09-19 18:29来源: 作者: 点击:
那么你可以利用server对象的ScriptTimeout属性来自己设定你希望的限制时间。脚本运行时间的最长限制默认值为90秒,这是防止无限次循环的进行,是很有用的防护措施。不过,在一些特殊场合中。

  脚本运行时间的最长限制默认值为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(“&ndsp;”)
Next
Response.Write(“*<p>”)
Next
%>
</body>
</HTML>
  这个脚本将会十分缓慢的显示落星,每隔10秒在相应位置显示一个星号。
  由于在页首限定了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调用时浏览器仍然处于连接状态才有效。如果你运行了一个运行时间很长的脚本程序而没有输出任何东西,那么这个属性也就不会产生作用。

相关文章:JavaScript实现无限级树型菜单

下载演示及代码: 点击这里下载源文件 一个很容易制作的树形菜单,你可以无限级的添加下级菜单,菜单是通过列表方式写成的!注意:使用时把head和body代码分别添加到相应区域内即可.

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
推荐内容
  • Session 详解

    懂得ASP/ASP.NET编程 了解ASP/ASP.NET的session模型 了解ASP.NET Web应用程序模型 了...

  • SessionID

    SessionID 属性返回用户的会话标识。在创建会话时,服务器会为每一个会话生成一个单独...

  • sp+语法介绍(六)----数据库篇

    在下面的例子中,我们将要介绍一下lt;ASP:datagrid runat=servergt;控件是怎么样通过s...

  • 保护你ASP页面的两种办法

    保护你的ASP页面的两种办法。保护你的asp页面并不难,我们可以用Request.ServerVariab...

  • Sucess On a Horse

    Enoloo and I disussed the How to earn Money.Actually,he didn...

  • VB/ASP数据库连接字符串示例

    使用DSN的数据库连接字符串例:MS SQL / MySQL / PostgreSQLDSN=dsnname 不使用DSN数据...