Server.ScriptTimeOut:处理脚本运行时间长的方法
来源:互联网 发布:有道词典windows 编辑:程序博客网 时间:2024/04/28 02:57
脚本运行时间的最长限制默认值为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调用时浏览器仍然处于连接状态才有效。如果你运行了一个运行时间很长的脚本程序而没有输出任何东西,那么这个属性也就不会产生作用。
不过,在一些特殊场合中,你也许面临着脚本运行时间大于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调用时浏览器仍然处于连接状态才有效。如果你运行了一个运行时间很长的脚本程序而没有输出任何东西,那么这个属性也就不会产生作用。
- Server.ScriptTimeOut:处理脚本运行时间长的方法
- Server.ScriptTimeout &
- Server.ScriptTimeout
- Active Server Pages, ASP 0113 (0x80004005)超过了脚本运行的最长时间。可以为 Server.ScriptTimeOut 属性指定新值或更改 IIS 管理工具中的相应值来更改此限制
- cache的时间长的方法。
- 当JAVA WEB服务器端有一个执行时间长的方法,应该如何处理?
- MRP 运行时间长
- 线上服务运行时间长变慢问题的分析定位
- 设置Sql Server禁止执行时间长的Sql语句执行
- sql server 查询正在运行的脚本
- 自定义TextView处理任意时间长按短按的事件
- SQL Server 2008R2编写脚本时智能提示功能丢失的处理方法
- SQL Server 2008R2编写脚本时智能提示功能丢失的处理方法
- SQL Server 2008R2编写脚本时智能提示功能丢失的处理方法
- 请求时间长的问题
- Ubuntu启动自动运行脚本的方法
- 运行python脚本的几种方法
- Groovy 脚本的多种运行方法
- DateDiff 函数详解
- include file和virtual
- NextRecordset 和 GetRows 双簧合奏
- Response 对象
- Response.Expires简述
- Server.ScriptTimeOut:处理脚本运行时间长的方法
- SQL语句参考及记录集对象资料索引
- 彩色校验码
- 插入Access记录后马上得到自动编号值的方法
- 超长字符的智能分页-支持HTM
- 初学ASP编程易犯的一个致命程序问题及解决办
- 存储过程
- 读出文件夹内的所有图片
- 多重纪录集Multiple Recordset的应用