出现:错误 'ASP 0113' asp0113 错误解决方法

41 views
Skip to first unread message

ergongbios x

unread,
Aug 19, 2009, 8:53:32 AM8/19/09
to gg, 扎卡数据备份集中, az, network...@googlegroups.com

最近出现了一次这样的情况

Active Server Pages 错误 'ASP 0113' asp0113 错误解决方法2008年07月18日 星期五 11:38执行ASP程序时出现错误

错误:
Active Server Pages 错误 'ASP 0113'
脚本超时
/Index.asp
超过了脚本运行的最长时间。可以为 Server.ScriptTimeOut 属性指定新值或更改 IIS 管理工具中的相应
值来更改此限制。

出现错误的原因:

在数据库中查询数据,数据量太大,导致脚本超时。

解决办法:

1    在错误页面的asp开始区域写上Server.ScriptTimeOut=9999 即可。或可设置成稍小的参数。

2    您可以增加时间是允许来处理 ASP 脚本用于特定 Web 站点。 要这样做, 将 Internet Information
   Server (IIS) 元数据库值:
      。打开IIS
      。右键有问题的站点的属性
      。单击 主目录
      。在 ApplicationSettings@@ , 单击 配置 。
      。单击 应用程序选项 选项卡。
      。ASP 脚本超 值增加到数字以防止脚本超时足够高

3     系统没有开启FSO组件:FSO组件的开启和关闭方法,Dll 文件的注册和注销:
       运行cmd命令
       注消FSO组件:RegSvr32 /u %windir%\SYSTEM32\scrrun.dll
       启用FSO命令:RegSvr32 %windir%\SYSTEM32\scrrun.dll

4    多次注消、启动后还是出现错误,原因是没权限,不知道怎么造成的,下边提供解决方法
      权限出现了问题,打开注册表加入权限!
      在 开始-运行中敲入regedit,然后找到HKEY_CLASSES_ROOT\Scripting.FileSystemObject
      右击权限,加入everyone,internet来宾帐号(IUSR...)用户确定,然后重新启动IIs即可搞定!
       如果你们遇到跟我们一样,你们可以找对应的字段修改

还有一种情况 就是代码里错误造成死循环.

“控制面板”--“管理工具”--“服务”找到server服务,启动…… 问题得到解决!

















在生产环境中很常见捕获使用语句发生 Active Server Pages (ASP) 页中的任何错误"On Error Resume 下一步"。 但是,如果将超时发生脚本错误,它不能通过此方法,因为在 ScriptTimeout 单独发生 ASP 错误集合中捕获的错误。

如果,但是,进行 ASP 页事务,您将能够,实际上,处理错误。 脚本超时就会发生交易记录将已失败,和如果对支持 such as Microsoft SQL Server 的事务的资源进行了更改所做的更改将会回滚。 此外,您的 ASP 页可以包含一个名为将时执行将失败交易记录即使失败是由于超时或在该 ASP 页中的其他错误的 OnTransactionAbort() 的过程。 客户端仍将收到该 ASP 0113 但是通过 OnTransactionAbort 必须能够使内容在 ScriptTimeout 后发生。

更多信息
事务性的 ASP 页都必须驻留在 Internet Information Server 4.0 或更高版本上。 若要允许 ASP 页的事务,将对页必须包含在"...

事务性的 ASP 页都必须驻留在 Internet Information Server 4.0 或更高版本上。 若要允许 ASP 页的事务,将对页必须包含在"TRANSACTION = 需要"中的参数在 @ 指令标记页的第一行。

以下的代码示例演示了捕获脚本超时错误:
   <%@ TRANSACTION=Required LANGUAGE="VBScript" %>
<HTML>
<HEAD>
<TITLE>Simple Transactional Web Page</TITLE>
</HEAD>
<BODY BGCOLOR="White" topmargin="10" leftmargin="10">
<font size="4" face="Arial, Helvetica">
<b>Transactional Web Page</b></font><br>
<hr size="1" color="#000000">
<p>
This is an example of an Aborted Transaction.
This transaction will abort due to a Script
Time-out error, which is an error that you
could not trap without a transaction.
</p>
<p>
Please wait until the script times out...
</p>

<%
Do while 1 = 1
'Infinite Loop
Loop
%>
</BODY>
</HTML>
<%
' The Transacted Script Abort Handler. This sub-routine
' will be called if the script transacted aborts

Sub OnTransactionAbort()
Response.Write "<p><b>The Transaction just aborted</b>."
Response.Write "This message came from the "
Response.Write "OnTransactionAbort() event handler."
end sub
%>
注意: 之前发生两个事件之一,将运行此脚本。 达到 Server.ScriptTimeout 和返回一个 ASP 0113,或者页面登记在事务中,因为它受默认事务的超时时间为 60 秒。

您可以确定 IIS 日志文件中发生的事件。 如果脚本超时结果的超过 Server.ScriptTimeout,"ASP 0113"将被报告给客户端并在 Web 日志中记录。

如果页面终止因事务超时,"HTTP 200"中将记录在 Web 日志指示成功。 仅通过检查 OnTransactionAbort 将您看到此错误。

此外在作为 Windows NT 4.0 的一部分的 MTS,超时事务时间为仅可配置每个服务器级别上。 这已被更改 COM+ (Windows 2000) 中,以便可以在组件级别上配置事务超时。 有关其他信息,单击下面,文章编号,以查看 Microsoft 知识库中相应:
287499  (http://support.microsoft.com/kb/287499/EN-US/ ) 如何更改事务超时时间值 MTS 或 COM+
253669  (http://support.microsoft.com/kb/253669/EN-US/ ) INFO: 的新特点 COM+1.0

参考
可以在 Windows NT Option Pack 文档中找到的 ASP 功能的其他示例。 本文档将被默认安装,并且可以从以下位置处的 Web 服务器中访问:...

可以在 Windows NT Option Pack 文档中找到的 ASP 功能的其他示例。 本文档将被默认安装,并且可以从以下位置处的 Web 服务器中访问: 有关最新的知识库文章和 Visual InterDev 和 Active Server Pages 其他支持信息,请参见在 Microsoft 技术支持站点上的以下页面:

--
ergongbios 诚恳请教!!谢谢回答!
Reply all
Reply to author
Forward
0 new messages